home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / bbsutil / dlx70bbs.zip / DLX70MAN.TXT < prev    next >
Text File  |  1994-02-23  |  163KB  |  3,700 lines

  1. DLX MULTI-LINE BULLETIN BOARD SYSTEM
  2. Version 7.0
  3.  
  4. INTRODUCTION
  5.  
  6. Welcome to the DLX community!  DLX is a multi-line, easily customized
  7. BBS (bulletin board system) for the advanced SysOp (system operator -
  8. that's you!).  It can be used for a social BBS or a business BBS or
  9. for wherever your imagination leads you.  And if your board is a
  10. success, you're not limited to a single telephone line.
  11.  
  12. DLX is most often used to run a social BBS.  On a social BBS, the
  13. main activity is not file uploading and downloading, as on most
  14. BBSes, but rather interacting with other callers by exchanging email
  15. or chatting.  DLX supports two kinds of email: public and private,
  16. and two kinds of chatting: one-on-one chatting and Open Forum (group
  17. chat).
  18.  
  19. The DLX system requires an IBM PC compatible microcomputer, 1
  20. megabyte or more of RAM, a hard disk with at least 10M free space
  21. left and MS-DOS 5.0 or later.  You can support up to 2 telephone
  22. lines with the normal PC serial ports and up to 32 lines by using
  23. DigiBoard expansion cards.  And of course you'll need one modem for
  24. each of your telephone lines.
  25.  
  26. DLX is designed to be easy for callers to use.  It is also fairly
  27. easy for the system operator to manage, but to run DLX you first need
  28. to become familiar with your PC and with MS-DOS.  You need to know
  29. how to list a file, create and change directories and edit a file.
  30. This manual won't teach you MS-DOS, so learn that first.
  31.  
  32. How to Setup Your New DLX System
  33.  
  34. Begin the setup process by making a backup copy of your original DLX
  35. disk.  Work only from the backup.  Put the original disk in a safe
  36. place (you'll need your original disk to get the update price on any
  37. future updates to DLX).  If you're installing this version of DLX
  38. over an earlier version, first make a backup copy of all the files in
  39. the DLX directory on your hard disk.
  40.  
  41. Create a new directory on your hard disk for DLX with the command:
  42.  
  43.     MD C:\DLX
  44.  
  45. Copy the file DLX70BBS.ZIP into C:\DLX and unzip it.  Then create an
  46. initial configuration of DLX with the command:
  47.  
  48.     SETUP
  49.  
  50. You'll be given a choice of whether you want to have a social system,
  51. or a business system.  The social system asks things like age, weight
  52. and sexual orientation; the business system does not.  When the setup
  53. batch file finishes, it exits back to MS-DOS.
  54.  
  55. Now bootup DLX by typing DLX at the MS-DOS prompt.  You will be asked if
  56. you want to check memory - say yes this first time (you won't need to
  57. check memory again unless you change the amount of memory available
  58. to the program).  Bootup DLX a second time and say no to the memory
  59. check.  You will then be asked which lines you wish to activate.  At
  60. this point, we only want to activate the keyboard, so, for this
  61. bootup, just type N (for no) for each line.  DLX takes awhile to boot
  62. because it reads a great deal of text into memory, so it won't have
  63. to do a lot of disk access while running.
  64.  
  65. When the screen clears, hit a carriage return.  Log yourself in as a
  66. new caller, and go through the new user questionnaire - thus making
  67. yourself user number one.  Most SysOps like to be user number one.
  68. User number one automatically gets the highest user level ╨ level 9.
  69. When you're done, type off to logoff.  Then type Ctrl-Break to shut
  70. down the system.
  71.  
  72. Congratulations!  You have just completed the installation of a
  73. generic DLX bulletin board system.  Of course, you'll want to
  74. customize and personalize your BBS to make it your own.
  75.  
  76. Basic Customizing
  77.  
  78. DLX can easily be customized by editing various files, depending on
  79. what you want your system to do, and how you want it to look.  In the
  80. following pages, we will discuss each of these files and how they
  81. effect the behavior of DLX.
  82.  
  83. All system prompts are stored in the file called PROMPTS.  A "prompt"
  84. is a sentence or group of sentences that the system displays to the
  85. caller .  A sample PROMPTS file is installed along with the program.
  86. Feel free to edit this as you wish, using a text editor.  This file
  87. is free form, although lines are limited to 80 characters in length.
  88. A PROMPTS file consists of text interspersed with ampersand codes.
  89. The ampersand codes are used to represent the variable parts of the
  90. system prompts.  A detailed description of how these ampersand codes
  91. work can be found later in this document (page 11).  You may edit all
  92. this text however you want, but don't remove any of the &X codes used
  93. to separate prompts.  You can even translate the prompts into a
  94. foreign language.  Most text editors will work fine for this a word
  95. processor will also work if you save the file as an ASCII text file.
  96. The EDIT program that comes with MS-DOS 5.0 or later will work just
  97. fine as your text editor.
  98.  
  99. Now edit the file PARAMS.  "Params" is short for parameters, which
  100. are various numbers and such that control the behanviour of the BBS.
  101. You can set the parameters however you wish.  More details about
  102. these parameters are provided later in this manual, in the reference
  103. section.
  104.  
  105. There are (up to) five multiple choice questionnaires available and
  106. one essay questionnaire.  The multiple choice questionnaires are
  107. given the filenames MULTIPLE.1, MULTIPLE.2, MULTIPLE.3, MULTIPLE.4
  108. and MULTIPLE.5.  Sample files are included as examples.  MULTIPLE.1
  109. is answered by all new callers.  MULTIPLE.2,3,4,5 are optional
  110. questionnaires that you can associate with various public mail
  111. categories by entering the questionnaire number in the appropriate
  112. PUBMAIL entry.  If a questionnaire is associated with a public mail
  113. category, then the caller will be prompted to answer it when first
  114. accessing that category.  You can make answering it optional or
  115. mandatory to see the mail.
  116.  
  117. The number at the beginning of multiple choice questions indicates
  118. how many answers are allowed.  The indenting of answers on the
  119. multiple choice must be followed exactly. Each multiple choice
  120. questionnaire is limited to a total of 30 answers.  The essay
  121. questions are in the file ESSAY.  Feel free to edit these files as
  122. you wish - just follow the example format given in each of the files
  123. (MULTIPLE.1, MULTIPLE.2 and ESSAY).  Note: you can include any number
  124. of essay questions - more, or less, than the example provided.  There
  125. is no fixed limit.  Once you've started your BBS, it's hard to change
  126. the MULTIPLE questions, because it would make nonsense of the answers
  127. people have already given, but it's easy to change the essay
  128. questions because the questions themselves are stored along with the
  129. answers.
  130.  
  131. Next, edit the file PUBMAIL.  PUBMAIL is the setup file for public
  132. mail categories.  Each category of public mail has a block of
  133. parameters separated by a blank line.  The file supplied is just an
  134. example - you may add, delete or modify categories by adding,
  135. deleting or modifying blocks of parameters with your editor.  For
  136. each category, you may specify the name of the category, an
  137. identifying letter, the file number of the moderator (if any),
  138. whether to hold new messages for the moderator or not, multiple
  139. choice questionnaire number (if any), whether the questionnaire is
  140. required, whether the category is anonymous or not, an optional
  141. restriction by gender, an optional restriction by sexual orientation,
  142. the minimum user level for read/write access, and the minimum/maximum
  143. age for access.  You may define up to fifty categories.  The public
  144. mail identifying character for each category may be a letter, a
  145. digit, or any of the following punctuation marks:
  146.  
  147.     # & @ ! % ( ) - { } ` _ ' $.
  148.  
  149. The file NEWS is displayed to each caller immediately after they log
  150. in.  Put whatever you want in it.  It is conventional to put the date
  151. the file was last updated at the beginning, so those who have already
  152. read it can ctrl-C - remember that some callers may have slow modems.
  153. Many sysops edits the news each day to list whose birthday it is.  A
  154. program "BDAY" is provided in this package that helps with this.
  155. This requires that you use a specific birthday question as the first
  156. question of MULTIPLE.3.
  157.  
  158. The file HELP contains detailed information for callers on how to use
  159. DLX.  The file EXPLAIN explains the various user levels and their
  160. privileges.  The file ORDER contains a sample order form.  You can
  161. edit these files as you wish.
  162.  
  163. The library is used to hold files for uploading and downloading.
  164. Callers can transfer files from the library to their computer
  165. (download) or transfer files from their computer to the library
  166. (upload).  To set up a library, copy any files you want to make
  167. available into an appropriate subdirectory of the LIBRARY directory.
  168. Edit the MENU file as you wish - this is the file callers see when
  169. they ask to list the library.  When callers upload files, DLX will
  170. add short descriptions of them to the end of the MENU file for the
  171. category.  It does this my taking the information provided by callers
  172. when uploading a file.  You may create as many library categories as
  173. you like using the MS-DOS 'md' command.
  174.  
  175. You may also define one or more databases.  The details on how to do
  176. this are found later in this document.
  177.  
  178. The system is now ready - just start it up as before and off you go!
  179.  
  180. Main Menu Commands
  181.  
  182. ?    Short list of commands
  183.     This gives a short list of the commands that are available
  184.     from the Main Menu.
  185.  
  186. A    Answer questionnaire again
  187.     This command allows the caller to change the answers on their
  188.     questionnaires.  The caller is given the choice of which
  189.     questionnaire to re-answer.
  190.  
  191. B    Browse questionnaires
  192.     This command allows the caller to peruse the answers that
  193.     others gave to the questionnaires.
  194.  
  195. C    Chat Lounge
  196.     In the Chat Lounge, the caller can initiate interactive chats
  197.     with other online callers.  The Available command changes the
  198.     caller's status to ChatOK.  The NoChat command prevents others from
  199.     initiating chats.  The LoginsOff command is like NoChat but also
  200.     blocks those bulletins that come in for each log in.  The PageOff
  201.     command is like NoChat, but also suppresses chat request notices.
  202.     Chat status remains in effect until changed, even over logoffs.  A
  203.     minimum user level is required to initiate a chat.  The Who command
  204.     allows the caller to see who's online.  The T command allows the
  205.     caller to request a Chat with the SysOp.
  206.  
  207.     The O command allows the caller to enter the Open Forum.  All
  208.     callers in an Open Forum channel are in one group chat, sometimes
  209.     known as "CB Mode".  In Open Forum, any line typed is sent to
  210.     everyone in the forum (on that channel).  There are special "/"
  211.     commands that allow the caller to browse other callers, get a Who
  212.     listing, send a private note, or squelch (suppress all lines from)
  213.     another caller.
  214.  
  215. D    Database
  216.     The database subsystem allows the caller to search for
  217.     information in one or more databases setup for this system.  This is
  218.     a free form text database, accessed by scanning for key words.
  219.  
  220. E    Explanation of user levels
  221.     This command displays the list and explanation of user levels
  222.     found in the file EXPLAIN.
  223.  
  224. F    Facts about this system
  225.     This command lists the computer hardware and software used by
  226.     this bulletin board system (or whatever you choose to display).
  227.  
  228. G    Goodbye
  229.     This command allows the caller to logoff the system with the
  230.     option of leaving comments or suggestions to the SysOp.
  231.  
  232. L    Library subsystem
  233.     The library contains a collection of ASCII text files and
  234.     binary program files.  These may be downloaded using ASCII, XMODEM or
  235.     XMODEM-1K protocols.  Callers may also wish to contribute to the
  236.     library by uploading text or programs.
  237.  
  238. M    Matchmaker or Master List of Users
  239.     This command allows the caller to match with other people on
  240.     the system.  The caller can select the age range, days since last
  241.     call, minimum times called, gender and sexual orientation to match
  242.     to.  In business mode, a list of all active users is presented
  243.     instead.
  244.  
  245. N    New essay answers
  246.     This command allows the caller to answer or re-answer the
  247.     essay questions.
  248.  
  249. O    Order Entry
  250.     This command allows callers to enter an order.  The system
  251.     prompts the caller with a series of questions.  The answers are made
  252.     up into a message and sent to a special account.  You can use this
  253.     mechanism to allow callers to order subscriptions online.
  254.  
  255. P    Public message board
  256.     The public message board is where items of general interest
  257.     are posted (as opposed to private mail).  A variety of different
  258.     categories can be arranged.  Categories can be limited by age,
  259.     gender, sexual orientation or user level.  Also, some categories may
  260.     have a moderator who will approve messages before they are generally
  261.     available.  The "N" command may be used to advance from one category
  262.     to the next.
  263.  
  264. R    Read private mail
  265.     This command allows the caller to read private email that
  266.     other users have sent.  The equivalent of an R command is
  267.     automatically executed at logon.  Deleted messages can be un-deleted
  268.     until logoff.
  269.  
  270. S    Send private mail
  271.     This command allows the caller to send private mail to other
  272.     users.  There is a hold function available. A held message is left in
  273.     memory so the caller may go back and re-read mail or a public
  274.     message, browse a questionnaire or whatever, and go back to the same
  275.     spot in the letter and continue entering the message.
  276.  
  277. U    User log display
  278.     This command displays the last 200 users in reverse
  279.     chronological sequence.  An asterisk (*) following the user's name
  280.     indicates a new user.
  281.  
  282. W    Who's online now
  283.     This command shows a list of who's on each line right now,
  284.     and whether or not they're available for chatting, and whatever else
  285.     you choose to display.
  286.  
  287. X    Exit and logon again
  288.     This command restarts the program at the opening greeting
  289.     message and allows callers to logon without having to re-dial the
  290.     system.  This will not give a caller additional time.
  291.  
  292. DATE or TIME gives the current date and time.
  293.  
  294. HELP displays the help file.
  295.  
  296. NEWPASSWORD allows the caller to change passwords.
  297.  
  298. NEWS prints the sign-on message again.  This message is contained in
  299. the file NEWS.  You can use ampersand codes in this file, if you
  300. like.
  301.  
  302. WRAP enables word wrap (the default)
  303. NOWRAP disables word wrap (for uploading messages)
  304.  
  305. VERSION displays the DLX version of the BBS.
  306.  
  307. BYE or OFF or EXIT at the Main Menu or any prompt logs off immediately.
  308.  
  309. SysOp Commands
  310.  
  311. There are special commands available only to SysOps (user level 9).
  312. They are available from the main menu.  These commands are equally
  313. valid whether you access the system locally or over a modem line.
  314.  
  315. Command    Meaning
  316. !C    Send canned message or reply with canned message - asks for
  317.     prepared file to send.  Use this instead of R(eply) when responding to
  318.     private mail, or at the Main Menu instead of S(end).  The
  319.     prepared file should be in your DLX directory.  It should be a plain
  320.     text file which will appear as the body of the letter.  You can use
  321.     ampersand codes in the canned letter to personalize it.  The easiest
  322.     way to prepare one of these is with the MS-DOS EDIT program.
  323. !D    Delete user.  The user can be online or offline.
  324. !J    Send junk mail (private mail to all users).
  325. !K    Kill a phone line.  Anyone on there is kicked off.  Resets the modem. 
  326.     If once doesn't work, do it twice.
  327. !L    Change level of user.
  328. !M    Change mailbox size.
  329. !N    New callers allowed/not allowed.  Does not affect keyboard, where a
  330.     new user can always log in - just blocks modem callers.
  331. !O    Delete old users who haven't called in specified  number of days.
  332. !R    Reset next new user number.  DLX will recycle unused user numbers
  333.     starting at the one you give.  It will skip over any numbers that
  334.     are assigned to undeleted users.
  335. !T    Reset time limit for any user, giving them a new full day's worth.
  336. !UA    Unanswer a user's multiple choice questionnaire.
  337. !UD    Undelete a user.
  338. !X    Crossover to another account.  Like X but next logon bypasses the
  339.     password and leaves user at level 9.
  340. !DOWN    Shut down the system in an orderly fashion, make modems not
  341.     answer, give users a warning message before shutdown.
  342. !BYE    Immediate shutdown of all lines.
  343. !DOS    Execute next line typed as a MS-DOS command  The system freezes until
  344.     the command is completed.
  345.  
  346. The !C, !D, !L, !M and !T commands are also available in the read
  347. private mail menu.  This is useful when verifying new users.
  348.  
  349. In addition to these commands, SysOps have other special privileges.
  350. They can chat with anyone, browse the sender of anonymous mail, send
  351. mail to a user with a full mailbox, and receive up to 150 messages.
  352. The SysOp may upload and download at any time, using any subdirectory
  353. on any disk.  All SysOp commands can be issued from a telephone line,
  354. not just the console, so you can maintain the system remotely.
  355.  
  356. Private Mail - How It Works
  357.  
  358. Private mail is email sent directly from one user to another.  Only
  359. the person addressed can see the mail, or will even know the message
  360. exists.  Private mail is kept in the MAILBOX subdirectory, one file
  361. per user.  Filenames are of the form USRxxxxx, where xxxxx is the
  362. file number of the user to whom the mail is addressed, padded out
  363. with leading zeroes.  Each file contains all the messages addressed
  364. to that user, in sequence by date and time sent.  Within the file,
  365. each message starts with a line showing the number of lines in the
  366. message, including the header lines and blank lines.  The message
  367. itself follows, beginning with the To, From, Subject and Date fields
  368. (in that order), followed by an empty line, followed by the body of
  369. the message.  The intention is to follow the standard RFC 822 email
  370. format.
  371.  
  372. When a user logs in, her private mail file is read into main memory.
  373. If new mail is sent to her while she is online, that mail is also
  374. kept in main memory.  Deleted messages are simply marked as deleted,
  375. so that they may be undeleted if desired.  While a caller is online
  376. both deleted and undeleted messages both take up mail slots.  When
  377. she logs off, her old mail file is deleted and a new one written.
  378. Only the undeleted messages are saved to the file.
  379.  
  380. Because private mail is kept in main memory while the caller is
  381. online, care must be taken that it doesn't overflow the capacity of
  382. main memory.  If the system runs out of memory, a loss of online
  383. users' mail may occur, not to mention other disasters.  The PARAMS
  384. file contains parameters limiting the number of lines allowed per
  385. message and limiting the number of messages that each mailbox can
  386. contain.  The !M command can be used to adjust the size of individual
  387. mailboxes.
  388.  
  389. Public Mail - How It Works
  390.  
  391. Public mail is divided into categories and anyone with access to that
  392. category of public mail can read it, no matter who it is addressed
  393. to.  Public mail is stored in the PUB-BOX subdirectory.  For each
  394. category x, there are two files: INDEXx and DATAx.  These files have
  395. a fixed format and should not be edited by the SysOp.  If you must do
  396. it, you'll find that it's easier if you put your editor in overwrite
  397. mode.  Most editors switch back and forth from insert mode to
  398. overwrite mode under control of the "Ins" key.
  399.  
  400. The public mail categories and their parameters are defined in the
  401. file PUBMAIL.  You can edit this file to change parameters or add new
  402. categories or remove unwanted categories.  One of the things you can
  403. designate for a category is a moderator.  A moderator is a user who
  404. is designated to watch over that category.  The moderator has special
  405. privileges to hold and unhold messages.
  406.  
  407. Public mail can be deleted by the SysOp, the caller who sent the mail
  408. or the caller to whom the mail is addressed (if addressed to a
  409. specific user).  Deleted public mail is not actually removed from the
  410. file, it is simply marked as deleted and can be un-deleted by
  411. repeating the D command on it.  To truly remove deleted messages, the
  412. program PACK must be run while DLX is shut down.
  413.  
  414. To remove an entire category of public mail, two things are
  415. necessary.  First edit out the parameter block for the category in
  416. the PUBMAIL mail.  Secondly, delete the corresponding INDEXx and
  417. DATAx files.
  418.  
  419. Junk mail - How It Works
  420.  
  421. When you (the SysOp) send junk mail, it is not sent in the ordinary
  422. manner.  Instead, it is placed in the file MAILBOX\USR-JUNK and each
  423. user in the MEMBERS file who is to receive it gets a little "J" mark
  424. on their MEMBERS file record.
  425.  
  426. When a person with the "J" mark calls in, the message in USR-JUNK is
  427. copied into their mailbox and the "J" mark is turned off.  From then
  428. on, the junk message is just like any other message.  The caller can
  429. delete it or keep it, as they choose.
  430.  
  431. If another junk mail is sent out, it replaces the message in
  432. USR-JUNK.  All callers who did not call in after the first junk mail,
  433. but before the second one, will never see the first junk mail.
  434. (Think about that last sentence, it's tricky.)
  435.  
  436. Junk mail is done this way because sending junk mail as ordinary mail
  437. would take too much time and disk space.  If you send a lot of junk
  438. mail and keep users around who don't call very often, this prevents
  439. junk mail build-up (no relation to waxy yellow build-up).
  440.  
  441. Junk mail can also be sent to all new users, actually those new users
  442. yet to come.  This junk mail is placed in a file USR-NEW, and it
  443. works in much the same way as the regular junk mail.  A letter "N" is
  444. used in their MEMBERS file record.
  445.  
  446. Chatting - How It Works
  447.  
  448. The term "chatting" refers to live interaction between users who are
  449. logged into the system.  Chatting comes in two flavors: private
  450. chatting and group chatting (Open Forum).
  451.  
  452. Private chats are initiated from the Chat Lounge by issuing a C
  453. command to chat with a specific user online.  In a private chat, each
  454. character you type is sent immediately to the other person.  If you
  455. make a mistake and have to backspace, the backspace too is seen by
  456. the other person.  The chatters type back and forth and can even
  457. interrupt each other.  The chat ends when one of them types a Ctrl-C
  458. or gets bumped.
  459.  
  460. On the console display, when you're watching a chat, the person
  461. typing will have a little bar appear at the end of each line typed,
  462. so you can tell which of the two people chatting is doing the typing.
  463.  
  464. Group chat allows any number of people to participate at once.  Group
  465. chat happens a line at a time.  You enter an entire line and when you
  466. hit Enter, the line is sent to everyone on the same Open Forum
  467. channel.  When you're not typing a line, you can watch the lines sent
  468. by others scroll by.  You can use the /W command to see who's online,
  469. the /B command to browse and the /P command to send a private line to
  470. a particular person.
  471.  
  472. Automatic Startup in a Batch File
  473.  
  474. When DLX starts up, it asks a series of questions (memory check,
  475. activate line).  These answers can be typed in at the keyboard.
  476. However, you may wish to start DLX from a batch file. This is how you
  477. do automatic startup.
  478.  
  479. Prepare a file with the answers to the startup questions in it, one
  480. answer per line.  For example, the normal startup for a two line
  481. system would be the following three line file:
  482.  
  483. n
  484. y
  485. y
  486.  
  487. Call this file STARTUP (for example).  You can now start DLX
  488. automatically with the MS-DOS command:
  489.  
  490. DLX <STARTUP
  491.  
  492. This command could also be placed in a .BAT file.
  493.  
  494. This technique is known as input file redirection and is a standard
  495. feature of MS-DOS.  You can read about it in your MS-DOS manual.  The same
  496. technique can be applied to many programs and MS-DOS commands.  It's
  497. telling MS-DOS to take its input from the file STARTUP rather than
  498. standard input (the keyboard).
  499.  
  500. Now you might ask, can't I use this to not only startup DLX, but also
  501. to log on and do something on the BBS?  Good question!  The answer
  502. is, you can't, and the reason is that as soon as the screen clears
  503. and the BBS starts running, DLX no longer gets input from the
  504. keyboard in the normal way.  When DLX is running it bypasses MS-DOS and
  505. gets its keystrokes directly from the keyboard hardware.
  506.  
  507.  
  508. CUSTOMIZING YOUR SYSTEM
  509.  
  510. To operate a DLX system, you need to know how to edit files, and you
  511. need an editor program.  The EDIT program, that comes with recent
  512. versions of MS-DOS works just fine for this, and is recommended.
  513. Many word processors can also be used just make sure to save your
  514. file as an ASCII text file.
  515.  
  516. Some DLX files are meant to be edited by the SysOp: PROMPTS, PARAMS,
  517. GLOBALS, NEWS, HELP, EXPLAIN, PUBMAIL, MULTIPLE.*, ESSAY, ORDER,
  518. MENU, DATA and HEADER.  These files have a flexible format.
  519.  
  520. The two limitations on editing the PROMPTS file are (1) lines are
  521. limited to 80 characters, and (2) you must not delete or insert &X
  522. codes (these are used to separate prompts).  
  523.  
  524. Do not edit the MEMBERS files or the public mail files.  They have a
  525. strict format and can easily be damaged.  Note: If you elect to open
  526. these files and simply save them in your favorite word processing
  527. program, you may damage them.
  528.  
  529. If you must edit these files (assuming you are an expert user), use a
  530. screen editor in overwrite mode (or DEBUG).  Make a backup copy
  531. first, and check out the BBS soon after you do the edit.  You must
  532. never delete or insert a line in these files.  The MEMBERS file and
  533. the public mail files are especially rigid in format - in these, you
  534. must not insert or delete even a single character.
  535.  
  536. Ampersand Codes
  537.  
  538. The PROMPTS file contains the text seen by callers.  You can use the
  539. file as is, or you can edit it to suit your application.  Within the
  540. PROMPTS file, DLX uses special ampersand codes (an ampersand followed
  541. by one or two characters) to represent variable strings to be filled
  542. in as needed.  For example, the code &DA will be replaced by the
  543. current date each time it is used.  Below you will find the available
  544. codes you can use to customize your PROMPTS file. 
  545.  
  546. Code    Meaning
  547. &A1..A5    Actual answer string, e.g. &5&A2 gives answer 5 on questionnaire 2
  548. &AC    Number of characters allowed in answer, on a MULTIPLE.* question that
  549.     allows a string of characters or a number.
  550. &AG    Age
  551. &AN    Allow New Users (N if true, else blank)
  552. &AS    Multiple choice answer
  553. &B1    Number of callers bumped because of max time
  554. &B2    Number of callers bumped because of lines full
  555. &B3    Nunber of callers bumped due to prime time
  556. &BA    Baud Rate
  557. &BP    Beep the console.  Arg, if given, sets frequency in tens of Hertz.
  558.     For example, &44&bp gives a 440 Hz tone.
  559. &BT    Bytes Transferred So Far in File Transfer.  Also, the number of
  560.     matches found so far in a database search.
  561. &BX    XMODEM or XMODEM-1K Blocks in Download
  562. &CA    Library or Database Category Name
  563. &CC    The equivalent of a Ctrl-C at the start of the prompt in which
  564.     it occurs
  565. &CH    Open Forum channel number
  566. &CI    City
  567. &CN    Call number
  568. &CO    Connect Time this call
  569. &CR    Connect Time Remaining
  570. &CS    Chat Status (ChatOK etc.)
  571. &CT    Count
  572. &CU    Connect Time today (monthly), this call (hourly)
  573. &DA    Date
  574. &DF    Download file size in bytes
  575. &DM    Download Time in Minutes
  576. &DS    Days Since Last Call
  577. &DW    Day of the week (0=Monday, 1=Tuesday, etc.)
  578. &ED    Error - MS-DOS file system
  579. &ES    Plural (es)
  580. &FD    Library File Description
  581. &FM    Free Space (bytes) - smallest ever this bootup
  582. &FN    File Number
  583. &FS    Free Space in far heap
  584. &GE    Gender - M/F
  585. &GO    Number of new orders.  Goes back to zero when the order account
  586.     is used or the system is rebooted.
  587. &HT    Height, e.g. 5'10"
  588. &IN    Index / Line Number
  589. &JD    Julian day number
  590. &JK    Junk mail pending
  591. &LC    Library or Database Category (full pathname)
  592. &LD    Last Logon Date
  593. &LF    Library Filename
  594. &LI    Max number of lines allowed per message
  595. &LJ    Julian day number of last logon
  596. &LL    Last Line Typed
  597. &LM    Largest Member Number Ever Used
  598. &LN    Message Line
  599. &LO    Force logoff
  600. <    Last Logon Time
  601. &LV    User Level
  602. &LX    X Logon (X if so, else blank)
  603. &MC    Match Last Called Date
  604. &MD    Message Date
  605. &MF    Message From
  606. &MG    Match Gender
  607. &MH    Match Highest age
  608. &ML    Match Lowest Age
  609. &MM    Maximum message number used in private mail, including deleted.
  610. &MN    Message Number
  611. &MO    Match orientation - single letter
  612. &MQ    Match Least Times Called
  613. &MS    Message Subject
  614. &MT    Message To
  615. &MU    Memory space in Use (bytes)
  616. &NA    Name
  617. &NC    Number of Callers
  618. &NG    Number of callers in Open Forum.  Optional argument for specific
  619.     channel.
  620. &NH    Number of callers here in this Open Forum channel.
  621. &NM    Number of Messages
  622. &NO    Number of callers online now on a modem line
  623. &NU    Number of Users
  624. &NW    New User (* if so, else blank)
  625. &OD    Last Logoff Date (Userlog only)
  626. &OF    Open Forum line
  627. &OT    Last Logoff Time (Userlog only)
  628. &PC    Match Percentage
  629. &PD    Pubmail Category Date of latest posting
  630. &PF    Sexual orientation (single letter)
  631. &PG    Page size for pausing
  632. &PH    Phone Line
  633. &PJ    Julian day number of latest posting to current pubmail category
  634. &PL    Pubmail Category Letter
  635. &PM    Pubmail Category Moderator
  636. &PN    Pubmail Category Name
  637. &PP    Prevent page pause until next prompt
  638. &PQ    Pubmail Number of Messages
  639. &PT    Pubmail Category Time.  If the category is anonymous, this will
  640.     be blank (default), or 00:00:00 if given an argument of 1, or
  641.     the actual time, if given an argument of 2.
  642. &PX    Password (scrambled form, as stored in the MEMBERS file)
  643. &Q1..Q5    Multiple choice answers
  644. &QR    Questionnaire number
  645. &RH    Room in (near) Heap (bytes)
  646. &RM    Room in (near) Heap (bytes) - smallest ever this bootup
  647. &RN    Random number between 0 and 32767
  648. &RP    Reset page pause count
  649. &SF    Slots Free in Mailbox
  650. &SL    Status line
  651. &SM    Slots (max) in Mailbox
  652. &SQ    Who's Squelched
  653. &SS    Plural (s)
  654. &ST    State (2 letters)
  655. &T0..T9    Time Limit for each level in minutes
  656. &TC    Times Called
  657. &TI    Time
  658. &TM    Total Memory space (bytes)
  659. &WT    Weight
  660. &X    End of Prompt
  661. &YM    ASCII, XMODEM or XMODEM-1K
  662. &ZS    Internal state number
  663.     
  664. &0-99    Argument
  665. &- -    Comment - all text following is ignored.  Comments use no memory.
  666. &@    Tab
  667. &<    Display following ampersand codes fixed width, left justified
  668. &>    Display following ampersand codes fixed width, right justified
  669. &~    Display following ampersand codes variable width (this is the default)
  670. &.    Display following ampersand codes variable width, truncated
  671. &[    My data (the caller herself - this is the default)
  672. &]    Your data (person being browsed, etc.)
  673. &{    Indexed My Data (person on another line)
  674. &}    Indexed Your Data (person being browsed on another line, etc.)
  675. &:    Userlog Data
  676. &'    Elapsed time displayed in minutes (default)
  677. &"    Elapsed time displayed in HH:MM:SS format
  678. &+    24 hour clock (default)
  679. &-    12 hour clock
  680.  
  681. If you use an ampersand code that is not in this table, it is ignored
  682. (it will appear as itself).
  683.  
  684. The &X code serves to separate prompts and must occur entirely by
  685. itself on a separate line.  The &ss and &es codes are used for
  686. plurals.  If the last ampersand code was a number, &ss turns into
  687. nothing if the number was one, and into "s" otherwise.  Similarly,
  688. &es turns into "es" or nothing, for plurals such as "boxes."
  689.  
  690. The numeric codes &1 through &99 are used for arguments.  An argument
  691. is a number that modifies the behavior of the ampersand code that
  692. follows it.  For example, &20&@ tabs to column twenty.  &3&<&CI gives
  693. the first three characters of the city.  &3&Q2 gives the third answer
  694. to questionnaire two.  Only constant arguments are allowed.
  695.  
  696. By default, all codes refer to the caller herself ("my" codes).  This
  697. can be changed to refer to the person being browsed, chatted, etc. by
  698. using the &] code ("your" codes).  The &{ code causes codes to refer
  699. to online users, indexed by line, as in a Who listing.  The &} code
  700. refers to the "your" code of the person in the Who listing.  The &:
  701. code makes subsequent codes refer to userlog data.  These codes
  702. continue in effect until the end of line or until overridden by
  703. another one.
  704.  
  705. All codes return variable length results by default.  You can change
  706. this to fixed width, left justified (&<) or fixed width, right
  707. justified (&>).  Or you can change it to variable width, truncated to
  708. a maximum length specified by an argument (&.).  These codes continue
  709. in effect until the end of line or until overridden by another one.
  710. To make columns of tables line up, you will want to use fixed width
  711. fields (using &< or &>), usually with each code preceded by an
  712. argument for field width.
  713.  
  714. The strings returned are capitalized in the same manner as the
  715. ampersand codes.  Thus &NA will give the name all capitalized, but
  716. &Na will just capitalize the first letter, while &na leaves the
  717. capitalization of the name unchanged.  The pattern &nA forces the
  718. name to lower case.
  719.  
  720. Conditional Expressions
  721.  
  722. The ampersand "if" codes allow you to conditionally display a
  723. character string.  For example, you might want to display the time as
  724. "Noon" if it's 12:00:00.  Logically what we want is something like
  725. this:
  726.  
  727.     if &ti = "12:00:00" then "Noon" else &ti endif
  728.  
  729. Here "&ti" is the ampersand code for the current time.  As another
  730. example, we might wish to display a New Years greeting every January
  731. 1.  Logically, what we want is this:
  732.  
  733.     if &5&<&da = "01-01" then "Happy New Year!" endif
  734.  
  735. Here "&5&<&da" are the ampersand codes meaning the first five
  736. characters of the date.  Note that in this case there is no "else
  737. clause" because we don't want to do anything unless it's New Years.
  738.  
  739. An ampersand "if" statement is very much like the previous examples,
  740. except that you must use ampersand codes for the keywords if, =,
  741. then, else and endif.  The ampersand codes for "if" statements are as
  742. follows:
  743.  
  744. Code    Meaning
  745. &?(    if
  746. &?t    then
  747. &?e    else
  748. &?)    endif
  749. &?=    = (equal to)
  750. &?>    > (greater than)
  751. &?<    < (less than)
  752. &?#    # (not equal to)
  753. &?:    contains string
  754.  
  755. The Noon example, in ampersand codes, is:
  756.  
  757.     &?(  &ti  &?=  12:00:00  &?t  Noon  &?e  &ti  &?)
  758.  
  759. The New Years example is:
  760.  
  761.     &?(  &5&<&da  &?=  01-01  &?t  Happy New Year!  &?)
  762.  
  763. The general form for a DLX "if" expression is one of these two forms:
  764.  
  765.     &?(  condition  &?t  do-this  &?e  do-that  &?)
  766.     &?(  condition  &?t  do-this  &?)
  767.  
  768. The condition  part is normally a comparison, one of these three:
  769.  
  770.     string1  &?=  string2
  771.     string1  &?<  string2
  772.     string1  &?>  string2
  773.     string1  &?:  string2
  774.  
  775. If both string1 and string2 are numbers, the comparison is numeric,
  776. otherwise the comparison is alphabetic.  Any string of ampersand
  777. codes and regular characters can be compared (alphabetic order is
  778. used).  In addition to these comparisons, a condition can be any
  779. string of ampersand codes - if the string is nonblank, it is
  780. considered "true."
  781.  
  782. "If" statements cannot exceed one line in length.  You can nest "if"
  783. statements by using macros.
  784.  
  785. Macros
  786.  
  787. DLX macros allow you to define your own ampersand codes for
  788. frequently used phrases.  A macro definition is quite simple.  It
  789. consists of a line with the name of your new code, and equal sign
  790. followed by the desired phrase.  For example, here is a definition
  791. for a macro which will display name and file number:
  792.  
  793. &nf= &na &fn
  794.  
  795. The line must begin with an ampersand immediately followed by the two
  796. characters that will be the name of the new ampersand code (&nf in
  797. the previous example).  This is then followed by an equal sign.
  798. Everything following the equal sign is the body of the macro
  799. definition.
  800.  
  801. All macro definitions are located in the file MACROS.  Reading that
  802. file will give you several examples of useful macros.  A macro
  803. definition is limited to one line in length.
  804.  
  805. If you define a macro with the same name as a predefined ampersand
  806. code, your definition will take precedence.  Also, beware of circular
  807. macro definitions like:
  808.  
  809. &ab=&cd
  810. &cd=&ab
  811.  
  812. A typical macro would have an "if" expression for a body.  For
  813. example, you could have a macro which expanded to the ANSI escape
  814. sequence for red color, but only if the user had specified ANSI
  815. terminal control on her questionnaire.
  816.  
  817. Macros can refer to other macros and in this way quite elaborate
  818. structures can be created.  Be careful not to nest macros more than
  819. about six deep, however.  Of course, circular definitions will lead
  820. to errors if used.  Macros are a powerful tool for customization.
  821. You may define as many macros as you like, but be aware that heavy
  822. use of them uses memory and may slow your system.
  823.  
  824. With the exception of &CC and &LO, ampersand codes and macros do not
  825. affect the operation of the system or the number of lines displayed,
  826. they just affect the appearance of those lines.
  827.  
  828. Sample Macros
  829.  
  830. Here are some sample macros that you may find useful:
  831.     
  832. Day of the week.  The &kf macro will give the name of the current day
  833. of the week.  These macros use a kind of divide and conquer technique
  834. called binary search.
  835.  
  836. &ka= &?( &dw &?< 1 &?t Monday &?e Tuesday &?)
  837. &kb= &?( &dw &?< 3 &?t Wednesday &?e Thursday &?)
  838. &kc= &?( &dw &?< 5 &?t Friday &?e Saturday &?)
  839. &kd= &?( &dw &?< 2 &?t &ka &?e &kb &?)
  840. &ke= &?( &dw &?< 6 &?t &kc &?e Sunday &?)
  841. &kf= &?( &dw &?< 4 &?t &kd &?e &ke &?)
  842.     
  843. SysOp-only library category. Create a library category called
  844. SYSOPLIB and don't mention it in your main library MENU file.  Add
  845. &kh to the library category menu prompt - the one that starts &CA
  846. (&cr minutes left).  Only level 9 users will be able to enter this
  847. category.
  848.  
  849. &kg= &?( &lv &?< 9 &?t &cc &?)
  850. &kh= &?( &CA &?= SYSOPLIB &?t &kg &?)
  851.     
  852. New public messages Put this macro in your display of the public mail
  853. categories.  It will show which categories have new mail since you
  854. last called.
  855.  
  856. &ki= &?( &lj< &?< &pj&2&pt &?t *NEW* &?)
  857.  
  858. Women only Open Forum channel.  Insert the &kj macro in the greeting
  859. you get when you first go into Open Forum.
  860.  
  861. &kj= &?( &ch &?= 5 &?t &kl &?)
  862. &kl= &?( &ge &?= m &?t &cc &?)
  863.  
  864. Hideaway Open Forum Channels.  Makes channels 10 and above
  865. hidden and available only to user level 4 and higher.  Use &km to
  866. display channel on the Who line. Use &kn in the Open Forum greeting.
  867.  
  868. &km= &?( &ch &?< 10 &?t &ch &?)
  869. &kn= &?( &ch &?> 9 &?t &ko &?)
  870. &ko= &?( &lv &?< 4 &?t &cc &?)
  871.     
  872. Show Unverified Callers only as NEW CALLER.  Use &kp on the Who line
  873. to avoid displaying the epithets of pranksters.
  874.  
  875. &kp= &?( &lv &?< 2 &?t NEW CALLER &?e &na &?)
  876.  
  877. STRINGS and MENUS Files
  878.  
  879. The STRINGS file contains all the keywords used by DLX.  The MENUS
  880. file contains the characters comprising the various menus used by
  881. DLX.  You may edit these to suit your application.  The characters in
  882. the MENUS file are all upper case.  If you wish to disable a certain
  883. command entirely, one easy way is to just change it to lower case.
  884. Since commands from callers are capitalized before matching, this
  885. will prevent a match.
  886.  
  887. Questionnaires
  888.  
  889. There are three kinds of questionnaires in DLX: built-in, multiple
  890. choice and essay.  The built-in questionnaire asks for name, city,
  891. state and lines per terminal page.  If you have your DLX set to the
  892. social (non-business) mode, it will also ask for gender, sexual
  893. orientation, age, height and weight.  The sexual orientation question
  894. can be turned off by setting a param.  The built-in questionnaire can
  895. only be modified by editing the PROMPTS file, but the ordering of
  896. questions and the number of characters allowed for each reply are
  897. fixed.  The DLX program varies the order that it asks some questions.
  898. By default, the height and weight questions use the English system of
  899. measure, but this can be changed by setting metric mode in the PARAMS
  900. file.  Metric mode uses centimeters for height and kilograms for
  901. weight.
  902.  
  903. You can have up to five multiple choice questionnaires.  These are
  904. stored in the files MULTIPLE.1 thru MULTIPLE.5.  MULTIPLE.1 is
  905. mandatory and is asked of all new users.  The others are optional and
  906. are tied to specific public mail categories.  When a new user first
  907. accesses such a category, she is asked to fill out the questionnaire.
  908. Once a questionnaire is answered, it can be re- answered by using the
  909. A command from the Main Menu.  When a user (below level 9) browses
  910. another caller, they only see the answers to questionnaires that they
  911. also have answered.
  912.  
  913. A typical multiple choice question look like this in the MULTIPLE file:
  914.  
  915. 1
  916. What kind of computer are you calling on?
  917.    A.  IBM PC or compatible
  918.    B.  Apple Macintosh
  919.    C.  Other microcomputer
  920.    D.  ASCII terminal
  921. =>
  922. &X
  923.  
  924. The number that begins the entry indicates the number of responses
  925. allowed.  Here we are allowing only one, but you could allow two or
  926. more.  Each multiple choice category is limited to a total of 30
  927. answers.  After the number comes the question itself.  This can be
  928. any number of lines.  Next come the answers.  They have a rigid
  929. format: three spaces, a letter, a period and a space, followed by the
  930. text of the answer, which must fit on one line.  Finally at the end
  931. there is a prompt for the response and &X indicating the end of this
  932. entry.
  933.  
  934. You can have questions that are answered with a number or a string of
  935. characters.  A typical number question would look like this:
  936.  
  937. 4N
  938. What year were you born?
  939. =>
  940. &X
  941.  
  942. Here the 4N means we want a numeric answer and are allowing an answer
  943. of up to 4 digits.  A question needing an alphanumeric answer would
  944. look like this:
  945.  
  946. 16A
  947. What county do you live in?
  948. =>
  949. &X
  950.  
  951. Here the 16A means we will allow up to 16 characters of answer.  The
  952. characters can be either digits, letters or punctuation characters.
  953. These 16 characters count towards the total of 30 for the
  954. questionnaire, so obviously we can't have too many of these.
  955.  
  956. The essay questionnaire allows callers to enter long replies worded
  957. as they choose.  Each answer is limited to the same number of lines
  958. as private mail.  There is only one essay questionnaire, which is
  959. kept in the file ESSAY.  The essay questionnaire can be made
  960. mandatory by setting the appropriate param, or it can be left to the
  961. user to answer it at a convenient time using the "N" command at the
  962. main menu.  When the essay is mandatory, it is asked of all new users
  963. right after they answer MULTIPLE.1.  DLX stores the essay questions
  964. with the answers, so the SysOp can change the essay questions at any
  965. time and previously answered questionnaires will still make sense.
  966.  
  967. ANSI Graphics
  968.  
  969. The term "ANSI graphics" refers to a combination of two things: the
  970. IBM PC graphics character set and the ANSI screen control "escape
  971. sequences".  This combination can be used to add simple color
  972. pictures to your PROMPTS file.
  973.  
  974. How to get DLX to do ANSI graphics
  975.  
  976. In order to get the full effect of ANSI graphics, a caller must have
  977. three things:
  978.  
  979.         1.  a color display
  980.         2.  the IBM PC graphics character set
  981.         3.  support for ANSI escape sequences
  982.  
  983. It's quite possible to have some but not all of these.  The first two
  984. are fairly obvious.  A color display adapter and color monitor are
  985. required to see color.  The IBM PC graphics characters are usually
  986. found only on PCs and rarely on other kinds of microcomputers.
  987.  
  988. The ANSI commands are called "escape sequences" because they always
  989. start with the "Esc" character.  The ANSI escape sequences control
  990. things like cursor position, clearing the screen, setting text color,
  991. etc.  Historically, they are very similar to the control codes for
  992. the DEC VT-100 terminal.  Many microcomputers (including the
  993. Macintosh) can emulate ANSI escape sequences.  To enable them on a
  994. PC, the line DEVICE=ANSI.SYS must be included in your CONFIG.SYS
  995. file.  This assumes that the file ANSI.SYS is in your root directory.
  996.  
  997. Most editors treat the "escape" character specially and you will have
  998. to read the manual to find out how to insert one.  Some editors
  999. indicate an escape with a dollar sign $, some show ^[ and some use
  1000. the IBM PC graphic equivalent (a left-pointing arrow).
  1001.  
  1002. The ANSI escape sequences are documented in the MS-DOS manual under
  1003. ANSI.SYS.  A short list can be found at the end of this section.  The
  1004. IBM PC graphics character set is tabulated in many books on the PC.
  1005.  
  1006. You can put ANSI escape sequences anywhere in your PROMPTS file.
  1007. Callers without the proper setup may get garbage.  To prevent this,
  1008. you can ask callers whether they want ANSI graphics, in a
  1009. questionnaire.  Then you can use "if" statements and macros to make
  1010. the display of ANSI sequences depend on them having the right setup.
  1011. Note that the ANSI effects are only visible to callers on remote
  1012. lines at the console you will only see the graphical character
  1013. equivalents to the ANSI codes.  The reason for this is that DLX
  1014. directly controls the screen and does not go through ANSI.SYS, which
  1015. would be too slow.
  1016.  
  1017. You can be even more sophisticated and ask each of the three
  1018. questions, and then make your macros generate appropriate codes.
  1019. This can get pretty complicated!
  1020.  
  1021. There are a number of programs which help to create nice ANSI
  1022. graphics files.  Two of the more popular are ANSIDRAW and THEDRAW.
  1023. When using these programs to make ANSI graphics for DLX, be careful
  1024. to limit the length of all lines to 80 characters (70 if you're going
  1025. to upload it).  A line is terminated by a carriage return - linefeed
  1026. sequence, which most editors insert when you press the Enter key.
  1027.  
  1028. A separate issue is whether you want to permit callers to include
  1029. ANSI graphics in their messages and chats.  In the PARAMS file, you
  1030. can allow ESC (the escape character) and suppress parity stripping in
  1031. incoming text.  Doing so will allow callers to send each other ANSI
  1032. graphics and to post ANSI graphics messages on the pub boards, etc.
  1033. This is a lot of fun but it has two dangers:
  1034.  
  1035. 1.  The ESC character lets malicious callers do mischief to other
  1036. callers.  For example, they can use the ANSI escape codes to set the
  1037. recipient screen to black on black(!).  Nothing sent will damage the
  1038. DLX system itself, fortunately.
  1039.  
  1040. 2.  This is a subtle one: Allowing the ESC character in messages may
  1041. deceive some callers into thinking they have a full screen editor for
  1042. their messages!  Some terminal programs will send, for example, the
  1043. ANSI sequence for "cursor up" if you press the up arrow key.  DLX
  1044. will echo this as usual and the cursor will indeed go up.  But this
  1045. is a dangerous illusion: the caller may see a typo on an earlier
  1046. line, use the arrow keys to get up to it, type over it, then use the
  1047. arrow keys to get back down.  All these cursor movements go into the
  1048. message as ANSI commands.  At some point, the line will pass 80
  1049. characters and then the "editor" won't work right.  And the recipient
  1050. of the message must have ANSI installed or the message won't play
  1051. back right.  Usually the originator has no idea of what is going on
  1052. and just gets very confused.
  1053.  
  1054. If you're not prepared to deal with the trouble ESC in messages can
  1055. cause, you should not enable it.
  1056.  
  1057. Some ANSI escape codes
  1058.  
  1059. In the following, # represents an integer parameter that must either
  1060. be filled in or omitted to get the default value.  A $ (dollar sign)
  1061. is used to represent the ESC (escape) character.  Please note that
  1062. not all implementations of ANSI support all these escape sequences
  1063. also others may be supported and different implementations may
  1064. implement the same sequence in different ways.
  1065.  
  1066. ANSI escape sequence to set character attributes:
  1067.  
  1068. $[# ... #m
  1069.  
  1070. #   Meaning
  1071. 0   Normal white on black
  1072. 1   High intensity
  1073. 4   Underscore (monochrome only)
  1074. 5   Blink
  1075. 7   Black on white
  1076. 30  Black letters
  1077. 31  Red letters
  1078. 32  Green letters
  1079. 33  Yellow letters
  1080. 34  Blue letters
  1081. 35  Magenta letters
  1082. 36  Cyan letters
  1083. 37  White letters
  1084. 40  Black background
  1085. 42  Red background
  1086. 43  Yellow background
  1087. 44  Blue background
  1088. 45  Magenta background
  1089. 46  Cyan background
  1090. 47  White background
  1091.  
  1092. $[##H    Cursor Position to ##
  1093. $[#A    Cursor Up # lines
  1094. $[#B    Cursor Down # lines
  1095. $[#C    Cursor Forward # columns
  1096. $[#D    Cursor Backward # columns
  1097. $[##1    Horizontal and Vertical Position to ##
  1098. $[s    Save Cursor Position
  1099. $[u    Restore Cursor Position
  1100. $[2J    Erase display and home cursor
  1101. $[k    Erase line
  1102.  
  1103.  
  1104. SERIAL PORTS AND MODEMS
  1105.  
  1106. DLX is fully interrupt driven, and requires that all serial
  1107. communication ports be set up properly.  If the ports are not setup
  1108. correctly, some or all of the modem lines will be totally dead.  Each
  1109. port must be connected to a Hayes compatible modem, or else it is
  1110. treated as directly connected terminal.  Any brand of modem can be
  1111. used, internal or external but it must be a Hayes compatible
  1112. full-duplex modem.
  1113.  
  1114. DLX is compatible with any speed your modem can support.  If your
  1115. modem comes back with CONNECT 4800, for example, the connection will
  1116. be at 4800 baud.  If no response is received to AT commands at
  1117. bootup, DLX will assume a hard wired line at 9600 baud.  If you wish,
  1118. you may specify a default speed for each line when booting DLX.  Just
  1119. answer with a number (e.g. 2400) instead of a Y or N.
  1120.  
  1121. You can use either external modems connected to serial ports, or
  1122. internal modems which combine a modem and serial port in one PC card,
  1123. or you can mix the two kinds.  The external modems are the more
  1124. flexible choice and are required to run 10 lines or more.  You must
  1125. have no more than two normal serial ports on your PC - three or more
  1126. will hang one of your ports.  The program TEST232 is included on this
  1127. disk.  Run it to reveal the number of serial ports installed and the
  1128. interrupt level each is connected to.  It should show no more than
  1129. two ports, with COM1 at interrupt level 4 and COM2 at interrupt level
  1130. 3.  If you use external modems, be sure your cables include lines 2,
  1131. 3, 7, 8 and 20.  Note that the COM3 and COM4 device names provided by
  1132. some internal modems cannot be used by DLX.  DLX uses DigiBoards to
  1133. go beyond 2 lines.  There are other kinds of cards that two or more
  1134. extra serial ports, but DLX only with DigiBoards or exact clones.
  1135.  
  1136. The number of active users possible on your BBS is limited by the
  1137. number of lines.  Experience has shown that one phone line can
  1138. support about 75 calls per day.  About 150 active users can be
  1139. supported per line, figuring that the average user calls every other
  1140. day.  Your phone lines can be connected in a rotary or hunt system so
  1141. that only one number needs be given out - the caller will be
  1142. connected to whichever line is free.
  1143.  
  1144. DLX can support up to 32 telephone lines.  This is done with a
  1145. DigiBoard 8 port serial cards that have non-standard serial ports
  1146. that go beyond the normal PC limit of 2 ports.  These cards require
  1147. external modems, so if you're buying new modems, be sure to get
  1148. external ones.  The nine line version of DLX can run with one
  1149. internal modem and eight external modems, or with nine external
  1150. modems.  The 16+ line versions run with all external modems.  You can
  1151. run with fewer lines, if you wish.
  1152.  
  1153. Always set your modems to monitor DTR (Data Terminal Ready) and to
  1154. sense DCD (Data Carrier Detect).  Normal word result codes should be
  1155. sent.  You can force autoanswer mode on at all times, or leave it
  1156. under program control - DLX will work either way.
  1157.  
  1158. The time a modem takes to reset will vary from brand to brand.  The
  1159. modem timing delay parameters in the PARAMS file may be adjusted to
  1160. compensate for this.  The meaning of the six parameters are as
  1161. follows:
  1162.  
  1163.  1. Time to hold down DTR to hang up the phone
  1164.  2. Time to wait after DTR back on to send ATZ reset
  1165.  3. Time to wait after ATZ reset before checking for OK
  1166.  4. Time to wait after modem setting command before checking for OK
  1167.  5. Time to wait before clearing the screen
  1168.  6. Time to wait after CONNECT before sending characters
  1169.  
  1170. Each time unit represents about 50 msec, or 1/20th of a second.
  1171.  
  1172. Configuring for Different Numbers of Lines
  1173.  
  1174. The DLX program comes in different versions, according to how many
  1175. lines it supports.  The basic version supports 2 lines, and there are
  1176. other versions supporting up to 32 lines.  With any version, you can
  1177. always have any number of lines up to the maximum for that version.
  1178.  
  1179. 2 Line Setup
  1180.  
  1181. The 2 line version of DLX can be used with either one or two
  1182. telephone lines.  Set the following lines in your PARAMS file:
  1183.  
  1184. 16#3F8               {base address of (first) COM1 communication chip}
  1185. 16#2F8               {base address of (first) COM2 communication chip}
  1186. 16#140               {status port pair for DigiBoard - IRQ4}
  1187. 16#240               {status port pair for DigiBoard - IRQ3}
  1188.  
  1189. To activate COM1, answer yes to the activate-line-1 question that DLX
  1190. asks when it starts up.  To activate COM2, answer yes to the
  1191. activate-line-2 question.  Either or both lines can be activated - or
  1192. neither if you just wish to use the BBS from the console.
  1193.  
  1194. 9 Line Setup
  1195.  
  1196. To go beyond two lines requires special hardware.  The normal IBM PC
  1197. standard allows for only two serial lines.  The special hardware that
  1198. DLX works with is an expansion card that plugs into your PC and
  1199. supplies serial ports and cables for eight additional external
  1200. modems.  The cards required by DLX are the DigiBoard DigiCHANNEL PC/8
  1201. boards.  They are made by DigiBoard, Inc. (telephone (612) 922-8055).
  1202. The DigiBoard card is used to share a single interrupt level among
  1203. many serial ports.  These cards can be bought directly from the
  1204. manufacturer or from dealers.
  1205.  
  1206. There are many ways to get an IBM PC to support more than two serial
  1207. ports.  We chose the DigiBoard setup because it is reliable and
  1208. relatively inexpensive.  The DigiBoard company themselves actually
  1209. sell quite a variety of different boards, including intelligent
  1210. boards that come with their own memory and CPU.  These cannot be used
  1211. with DLX.  DLX uses the simpler "dumb" DigiBoards.  Be sure the board
  1212. you get uses the 16450 UART chip.  The older 8250 is not fast enough
  1213. for current model computers.  The newer 16550 chip can be installed,
  1214. but DLX will not take advantage of its extra features.
  1215.  
  1216. The 9-line DLX setup uses a normal COM1 plus a DigiBoard to share the
  1217. COM2 interrupt (IRQ3) among 8 lines.  Before installing the DigiBoard
  1218. card, you must first remove or disable anything using COM2 on your
  1219. PC.  If you have another serial port on your system, e.g. on a
  1220. multi-function card, disable the serial port entirely.  Verify this
  1221. with the TEST232 program included on the DLX diskette.  It should
  1222. show COM2 not installed.  Next, remove the J89 jumper from your
  1223. DigiCHANNEL PC/8 card (this keeps it from interfering with COM1).
  1224. Set the microswitches in the "PC/AT" configuration tabulated below.
  1225.  
  1226. Edit the PARAMS file as follows:
  1227.  
  1228. 16#3F8               {base address of (first) COM1 communication chip}
  1229. 16#100               {base address of (first) COM2 communication chip}
  1230. 16#140               {status port pair for DigiBoard - IRQ4}
  1231. 16#140               {status port pair for DigiBoard - IRQ3}
  1232.  
  1233. If the modems fail to reset, it may be due to a conflict between the
  1234. ports used by the DigiBoard card and other devices on your system.
  1235. The documentation for the various expansion cards in your computer
  1236. should be consulted to find what port addresses they use.  All
  1237. conflicts must be resolved.  Frankly, the fewer devices you have
  1238. installed the easier it will be.  Get rid of extraneous things like
  1239. mice that DLX doesn't use anyway.  One way to do this is to
  1240. experiment with different base addresses on your DigiBoard card.  Try
  1241. the PC/AT configuration for starters - see "I/O Port conflict later
  1242. in this doc for more information.  When you boot up DLX, each line
  1243. should show an "OK" in response to the ATZs.  If instead you get a
  1244. blank line, that means that the DigiCHANNEL PC/8 card is not
  1245. installed correctly.
  1246.  
  1247. DLX operates the DigiBoard hardware directly it does not use any of
  1248. the driver software supplied by DigiBoard.  Therefore, do not install
  1249. any of the DigiBoard software drivers on your computer.  The cables
  1250. coming out of the back of the DigiCHANNEL PC/8 card are labelled 1
  1251. through 8.  These correspond to DLX lines 2 through 9.  DLX line 1
  1252. corresponds to the modem on COM1.  Also note, the TEST232 program
  1253. only works with the normal IBM serial ports and it won't report the
  1254. status of a DigiCHANNEL PC/8 card.
  1255.  
  1256. First DigiBoard DigiCHANNEL PC/8 "PC/AT" Setting (1=On, 0=Off)
  1257.  
  1258. DLX    PORT    BASE    DIP SW.    SWITCH SETTINGS
  1259. LINE    NUMBER    ADDRESS    NUMBER    1 2 3 4 5 6 7 8 9 10
  1260. N/A    STATUS    16#140    DS1    1010111111
  1261. 2    PORT 1    16#100    DS2    10111111
  1262. 3    PORT 2    16#108    DS3    10111101
  1263. 4    PORT 3    16#110    DS4    10111011
  1264. 5    PORT 4    16#118    DS5    10111001
  1265. 6    PORT 5    16#120    DS6    10110111
  1266. 7    PORT 6    16#128    DS7    10110101
  1267. 8    PORT 7    16#130    DS8    10110011
  1268. 9    PORT 8    16#138    DS9    10110001
  1269.  
  1270. J85 - On     J89 - Off (remove)
  1271. P2,P3 - On middle pair
  1272. J1-J8 - On pins 1&2
  1273. J9,J10 - On pins 2&3
  1274.  
  1275. 16 Line Setup
  1276.  
  1277. To run more than nine lines, you need to install two DigiCHANNEL PC/8
  1278. cards, and connect each to eight external Hayes-compatible modems.
  1279. Note that a single DigiCHANNEL PC/16 card cannot be used in place of
  1280. two DigiCHANNEL PC/8s.  All serial communication is thru the
  1281. DigiCHANNEL PC/8 cards, and you must remove or disable any normal
  1282. serial ports.
  1283.  
  1284. First DigiBoard DigiCHANNEL PC/8 "PC/AT" Setting (1=On, 0=Off) Lines 9-16
  1285.  
  1286. PORT    BASE    DIP SW.    SWITCH SETTINGS
  1287. NUMBER    ADDRESS    NUMBER    1 2 3 4 5 6 7 8 9 10
  1288. STATUS    16#140    DS1    1010111111
  1289. PORT 1    16#100    DS2    10111111
  1290. PORT 2    16#108    DS3    10111101
  1291. PORT 3    16#110    DS4    10111011
  1292. PORT 4    16#118    DS5    10111001
  1293. PORT 5    16#120    DS6    10110111
  1294. PORT 6    16#128    DS7    10110101
  1295. PORT 7    16#130    DS8    10110011
  1296. PORT 8    16#138    DS9    10110001
  1297.  
  1298. J85 - On     J89 - Off (remove)
  1299. P2,P3 - On middle pair
  1300. J1-J8 - On pins 1&2
  1301. J9,J10 - On pins 2&3
  1302.  
  1303. Second DigiBoard DigiCHANNEL PC/8 "PC/AT" Setting (1=On, 0=Off) Lines 1-8
  1304.  
  1305. PORT    BASE    DIP SW.    SWITCH SETTINGS
  1306. NUMBER    ADDRESS    NUMBER    1  2  3  4  5  6  7  8  9  10
  1307. STATUS    16#140    DS1    1010111111
  1308. PORT 1    16#148    DS2    10101101
  1309. PORT 2    16#150    DS3    10101011
  1310. PORT 3    16#158    DS4    10101001
  1311. PORT 4    16#160    DS5    10100111
  1312. PORT 5    16#168    DS6    10100101
  1313. PORT 6    16#170    DS7    10100011
  1314. PORT 7    16#178    DS8    10100001
  1315. PORT 8    16#180    DS9    10011111
  1316.  
  1317. J85 - Off (remove)     J89 - On
  1318. P2,P3 - On middle pair
  1319. J1-J9 - On pins 2&3
  1320. J10 - On pins 1&2
  1321.  
  1322. Edit the PARAMS file as follows:
  1323.  
  1324. 16#148               {base address of (first) COM1 communication chip}
  1325. 16#100               {base address of (first) COM2 communication chip}
  1326. 16#140               {status port pair for DigiCHANNEL PC/8 - IRQ4}
  1327. 16#140               {status port pair for DigiCHANNEL PC/8 - IRQ3}
  1328.  
  1329. 24 Line Setup
  1330.  
  1331. The 24 line setup requires three DigiCHANNEL PC/8 cards in your
  1332. computer, and one DigiBoard DC2 jumper cable.  The setup of the three
  1333. boards is as follows:
  1334.  
  1335. First DigiBoard DigiCHANNEL PC/8 "PC/AT" Setting (1=On, 0=Off) (lines 9-16)
  1336.     (Board 0, Com2, IRQ3)
  1337.  
  1338. PORT    BASE    DIP SW.    SWITCH SETTINGS
  1339. NUMBER    ADDRESS    NUMBER    1  2  3  4  5  6  7  8  9  10
  1340. STATUS    16#240    DS1    0110111111
  1341. PORT 1    16#100    DS2    10111111
  1342. PORT 2    16#108    DS3    10111101
  1343. PORT 3    16#110    DS4    10111011
  1344. PORT 4    16#118    DS5    10111001
  1345. PORT 5    16#120    DS6    10110111
  1346. PORT 6    16#128    DS7    10110101
  1347. PORT 7    16#130    DS8    10110011
  1348. PORT 8    16#138    DS9    10110001
  1349.  
  1350. J85 - On         J89 - Off (remove)
  1351. P2,P3 - On middle pair 
  1352. J1-J8 - On pins 1&2 
  1353. J9,J10 - On pins 2&3
  1354.  
  1355. Second DigiBoard DigiCHANNEL PC/8 "PC/AT" Setting (1=On, 0=Off) (lines 1-8)
  1356.     (Board 1, Com1, IRQ4)
  1357.  
  1358. PORT    BASE    DIP SW.    SWITCH SETTINGS
  1359. NUMBER    ADDRESS    NUMBER    1  2  3  4  5  6  7  8  9  10
  1360. STATUS    16#140    DS1    1010111111
  1361. PORT 1    16#148    DS2    10101101
  1362. PORT 2    16#150    DS3    10101011
  1363. PORT 3    16#158    DS4    10101001
  1364. PORT 4    16#160    DS5    10100111
  1365. PORT 5    16#168    DS6    10100101
  1366. PORT 6    16#170    DS7    10100011
  1367. PORT 7    16#178    DS8    10100001
  1368. PORT 8    16#180    DS9    10011111
  1369.  
  1370. J85 - Off (remove)    J89 - On
  1371. P2 - On middle pair
  1372. P3 - Connect DC2 jumper cable to P3 of Third DigiBoard (lines 17-24)
  1373. J1-J9 - On pins 2&3
  1374. J10 - On pins 1&2
  1375.  
  1376. Third DigiBoard DigiCHANNEL PC/8 "PC/AT" Setting (1=On, 0=Off) (lines 17-24)
  1377.     (Board 2, Com1, IRQ4)
  1378.  
  1379. PORT    BASE    DIP SW.    SWITCH SETTING
  1380. NUMBER    ADDRESS    NUMBER    1  2  3  4  5  6  7  8  9  10
  1381. STATUS    16#140    DS1    1010111111
  1382. PORT 1    16#188    DS2    10011101
  1383. PORT 2    16#190    DS3    10011011
  1384. PORT 3    16#198    DS4    10011001
  1385. PORT 4    16#1A0    DS5    10010111
  1386. PORT 5    16#1A8    DS6    10010101
  1387. PORT 6    16#1B0    DS7    10010011
  1388. PORT 7    16#1B8    DS8    10010001
  1389. PORT 8    16#1C0    DS9    10001111
  1390.  
  1391. J85 - Off (remove)    J89 - On
  1392. P2 - On middle pair
  1393. P3 - Connect DC2 jumper cable to P3 of Second DigiBoard (lines 1-8)
  1394. J1-J8 - On pins 2&3
  1395. J9 - On pins 1&2    J10 - On pins 2&3
  1396.  
  1397. Edit the PARAMS file as follows:
  1398.  
  1399. 16#148               {base address of (first) COM1 communication chip}
  1400. 16#100               {base address of (first) COM2 communication chip}
  1401. 16#140               {status port pair for DigiBoard - IRQ4}
  1402. 16#240               {status port pair for DigiBoard - IRQ3}
  1403.  
  1404. 32 Line Setup
  1405.  
  1406. The 32 line setup requires four DigiCHANNEL PC/8 cards in your
  1407. computer, and two DigiBoard DC2 jumper cables.  DigiBoard makes 16
  1408. port cards, but DLX does not support these - you have to use the four
  1409. 8 port cards.  The setup of the four boards is as follows:
  1410.  
  1411. First DigiBoard DigiCHANNEL PC/8 "PC/AT" Setting (1=On, 0=Off) (lines 9-16)
  1412.     (Board 0, Com2, IRQ3)
  1413.  
  1414. PORT    BASE    DIP SW.    SWITCH SETTINGS
  1415. NUMBER    ADDRESS    NUMBER    1  2  3  4  5  6  7  8  9  10
  1416. STATUS    16#200    DS1    0111111111
  1417. PORT 1    16#208    DS2    01111101
  1418. PORT 2    16#210    DS3    01111011
  1419. PORT 3    16#218    DS4    01111001
  1420. PORT 4    16#220    DS5    01110111
  1421. PORT 5    16#228    DS6    01110101
  1422. PORT 6    16#230    DS7    01110011
  1423. PORT 7    16#238    DS8    01110001
  1424. PORT 8    16#240    DS9    01101111
  1425.  
  1426. J85 - On
  1427. J89 - Off (remove)
  1428. P2 - Connect DC2 jumper cable to P2 of Fourth DigiBoard (lines 25-32)
  1429. P3 - On middle pair 
  1430. J1-J8 - On pins 1&2 
  1431. J9,J10 - On pins 2&3
  1432.  
  1433. Second DigiBoard DigiCHANNEL PC/8 "PC/AT" Setting (1=On, 0=Off) (lines 1-8)
  1434.     (Board 1, Com1, IRQ4)
  1435.  
  1436. PORT    BASE    DIP SW.    SWITCH SETTINGS
  1437. NUMBER    ADDRESS    NUMBER    1  2  3  4  5  6  7  8  9  10
  1438. STATUS    16#100    DS1    1011111111
  1439. PORT 1    16#108    DS2    10111101
  1440. PORT 2    16#110    DS3    10111011
  1441. PORT 3    16#118    DS4    10111001
  1442. PORT 4    16#120    DS5    10110111
  1443. PORT 5    16#128    DS6    10110101
  1444. PORT 6    16#130    DS7    10110011
  1445. PORT 7    16#138    DS8    10110001
  1446. PORT 8    16#140    DS9    10101111
  1447.  
  1448. J85 - Off (remove)
  1449. J89 - On
  1450. P2 - On middle pair
  1451. P3 - Connect DC2 jumper cable to P3 of Third DigiBoard (lines 17-24)
  1452. J1-J9 - On pins 2&3
  1453. J10 - On pins 1&2
  1454.  
  1455. Third DigiBoard DigiCHANNEL PC/8 "PC/AT" Setting (1=On, 0=Off) (lines 17-24)
  1456.     (Board 2, Com1, IRQ4)
  1457.  
  1458. PORT    BASE    DIP SW.    SWITCH SETTING
  1459. NUMBER    ADDRESS    NUMBER    1  2  3  4  5  6  7  8  9  10
  1460. STATUS    16#100    DS1    1011111111
  1461. PORT 1    16#148    DS2    10101101
  1462. PORT 2    16#150    DS3    10101011
  1463. PORT 3    16#158    DS4    10101001
  1464. PORT 4    16#160    DS5    10100111
  1465. PORT 5    16#168    DS6    10100101
  1466. PORT 6    16#170    DS7    10100011
  1467. PORT 7    16#178    DS8    10100001
  1468. PORT 8    16#180    DS9    10011111
  1469.  
  1470. J85 - Off (remove)
  1471. J89 - On
  1472. P2 - On middle pair
  1473. P3 - Connect DC2 jumper cable to P3 of Second DigiBoard (lines 1-8)
  1474. J1-J8 - On pins 2&3
  1475. J9 - On pins 1&2
  1476. J10 - On pins 2&3
  1477.  
  1478. Fourth DigiBoard DigiCHANNEL PC/8 "PC/AT" Setting (1=On, 0=Off) (lines 25-32)
  1479.     (Board 3, Com2, IRQ3)
  1480.  
  1481. PORT    BASE    DIP SW.    SWITCH SETTING
  1482. NUMBER    ADDRESS    NUMBER    1  2  3  4  5  6  7  8  9  10
  1483. STATUS    16#200    DS1    0111111111
  1484. PORT 1    16#248    DS2    01101101
  1485. PORT 2    16#250    DS3    01101011
  1486. PORT 3    16#258    DS4    01101001
  1487. PORT 4    16#260    DS5    01100111
  1488. PORT 5    16#268    DS6    01100101
  1489. PORT 6    16#270    DS7    01100011
  1490. PORT 7    16#278    DS8    01100001
  1491. PORT 8    16#280    DS9    01011111
  1492.  
  1493. J85 - On
  1494. J89 - Off (remove)
  1495. P2 - Connect DC2 jumper cable to P2 of first DigiBoard (lines 9-16)
  1496. P3 - On middle pair
  1497. J1-J10 - On pins 1&2
  1498.  
  1499. Edit the PARAMS file as follows:
  1500.  
  1501. 16#108               {base address of (first) COM1 communication chip}
  1502. 16#208               {base address of (first) COM2 communication chip}
  1503. 16#100               {status port pair for DigiBoard - IRQ4}
  1504. 16#200               {status port pair for DigiBoard - IRQ3}
  1505.  
  1506. I/O Port Conflict on a Multi-Line System
  1507.  
  1508. The DigiBoard DigiCHANNEL PC/8 cards use a number of your computer's
  1509. I/O port addresses.  The normal DigiCHANNEL PC/8 settings listed
  1510. above do not conflict with any I/O ports used by a standard IBM PC or
  1511. AT.  However, it may happen that the normal DigiCHANNEL PC/8 setting
  1512. conflicts with other devices on your computer.
  1513.  
  1514. The symptoms of this are that accessing certain lines causes the
  1515. system to hang or crash.  Another symptom is that the DLX DATE
  1516. command gives garbage.
  1517.  
  1518. One way around this problem is to remove the offending devices or
  1519. cause them to use other I/O port addresses.  Another workaround is to
  1520. setup your DigiCHANNEL PC/8 cards to use other ports.
  1521.  
  1522. One easy way to do the latter is to reverse the settings of the first
  1523. two microswitches on each block of microswitches on each DigiCHANNEL
  1524. PC/8 in your computer.  This has the effect of changing the port
  1525. addresses used from 16#1xx to 16#2xx and vice versa.  The PARAMS file
  1526. must be edited to reflect this change also.
  1527.  
  1528. For example, here is the alternate setting for a 16 line system.
  1529.  
  1530. Alternate First DigiBoard DigiCHANNEL PC/8 "PC/AT" Setting (1=On, 0=Off)
  1531.  
  1532. PORT    BASE    DIP SW    SWITCH SETTINGS
  1533. NUMBER    ADDRESS    NUMBER    1  2  3  4  5  6  7  8  9  10
  1534. STATUS    16#240    DS1    0110111111
  1535. PORT 1    16#200    DS2    01111111
  1536. PORT 2    16#208    DS3    01111101
  1537. PORT 3    16#210    DS4    01111011
  1538. PORT 4    16#218    DS5    01111001
  1539. PORT 5    16#220    DS6    01110111
  1540. PORT 6    16#228    DS7    01110101
  1541. PORT 7    16#230    DS8    01110011
  1542. PORT 8    16#238    DS9    01110001
  1543.  
  1544. J85 - On J89 - Off (remove)
  1545. P2,P3 - On middle pair
  1546. J1-J8 - On pins 1&2
  1547. J9,J10 - On pins 2&3
  1548.  
  1549.  
  1550. Alternate Second DigiBoard DigiCHANNEL PC/8 "PC/AT" Setting (1=On, 0=Off)
  1551.  
  1552. PORT    BASE    DIP SW    SWITCH SETTING
  1553. NUMBER    ADDRESS    NUMBER    1  2  3  4  5  6  7  8  9  10
  1554. STATUS    16#240    DS1    0110111111
  1555. PORT 1    16#248    DS2    01101101
  1556. PORT 2    16#250    DS3    01101011
  1557. PORT 3    16#258    DS4    01101001
  1558. PORT 4    16#260    DS5    01100111
  1559. PORT 5    16#268    DS6    01100101
  1560. PORT 6    16#270    DS7    01100011
  1561. PORT 7    16#278    DS8    01100001
  1562. PORT 8    16#280    DS9    01011111
  1563.  
  1564. J85 - Off (remove)
  1565. J89 - On
  1566. P2,P3 - On middle pair
  1567. J1-J9 - On pins 2&3
  1568. J10 - On pins 1&2
  1569.  
  1570. Edit the PARAMS file as follows:
  1571.  
  1572. 16#248               {base address of (first) COM1 communication chip}
  1573. 16#200               {base address of (first) COM2 communication chip}
  1574. 16#240               {status port pair for DigiBoard - IRQ4}
  1575. 16#240               {status port pair for DigiBoard - IRQ3}
  1576.  
  1577. IBM PS/2 Setup - MC/8 Cards
  1578.  
  1579. For a one or two line system, setup your IBM PS/2 as described above.
  1580. For more lines, you will need to use DigiBoard MC/8 (or MC/4) cards.
  1581. The IBM PS/2 uses a different bus architecture than the IBM AT used.
  1582. This bus scheme is called Micro Channel Architecture or MCA for
  1583. short.  Because it is different, a different card must be used: the
  1584. DigiBoard MC/8.  A DigiCHANNEL PC/8 will not fit.  Because of the
  1585. different ways in which MC/8 cards work, a maximum of 16 lines (two
  1586. cards) can be used.
  1587.  
  1588. The DigiBoard MC/8 does not have any dip switches on it.  Instead,
  1589. you configure it using your IBM PS/2 reference diskette.  Follow the
  1590. instructions for hardware installation in your MC/8 manual.
  1591.  
  1592. For a 9 line system, install your MC/8 on IRQ3.  Select the DB80 UART
  1593. address when you configure the board with the reference diskette.
  1594.  
  1595. Edit the PARAMS file as follows:
  1596.  
  1597. 16#3F8               {base address of (first) COM1 communication chip}
  1598. 16#DB80              {base address of (first) COM2 communication chip}
  1599. 16#DBC0              {status port pair for DigiBoard - IRQ4}
  1600. 16#DBC0              {status port pair for DigiBoard - IRQ3}
  1601.  
  1602. For a 16-line system, install your second MC/8 on IRQ4.  Select the CB80 UART address for this 
  1603. board.
  1604.  
  1605. Edit the PARAMS file as follows:
  1606.  
  1607. 16#CB80              {base address of (first) COM1 communication chip}
  1608. 16#DB80              {base address of (first) COM2 communication chip}
  1609. 16#CBC0              {status port pair for DigiBoard - IRQ4}
  1610. 16#DBC0              {status port pair for DigiBoard - IRQ3}
  1611.  
  1612. Configuring Modems
  1613.  
  1614. >>>300 Baud Modems
  1615.  
  1616. These slow modems are now obsolete, but they can still be used to run
  1617. a DLX if you wish.  Set the configuration switches on the modem (if
  1618. any) to detect carrier (DCD), to respond to data terminal ready
  1619. (DTR), and to return normal "word" result codes.
  1620.  
  1621. Edit the params file as follows:
  1622.  
  1623. ATXS0=1S2=0          {modem setting command}
  1624.  
  1625. Notice that X1 is not used, just plain X.
  1626.  
  1627. >>>1200 Baud Modems
  1628.  
  1629. Set your modem's microswitches (if any) to monitor DTR (Data Terminal
  1630. Ready) and to sense DCD (Data Carrier Detect).  Normal word result
  1631. codes should be sent.  You can force autoanswer mode on at all times,
  1632. or leave it under program control - DLX will work either way.
  1633.  
  1634. Hayes 300/1200 baud external modems require the following
  1635. configuration switch setting:
  1636.  
  1637. SW    State    Meaning
  1638. --    -----    -------
  1639.  1    UP    Monitor DTR
  1640.  2    UP    Result codes sent as words
  1641.  3    DOWN    Result codes sent
  1642.  4    UP    Modem echoes characters
  1643.  5    DOWN    Autoanswer under program control
  1644.  6    UP    Follow carrier detect
  1645.  7    UP    Single line
  1646.  8    DOWN    Command recognition enabled
  1647.  
  1648. Hayes 300/1200 baud internal modems with 3 configuration switches
  1649. require the following switch setting:
  1650.  
  1651. SW    State    Meaning
  1652. --    -----    -------
  1653. 1    ON/OFF    ON for COM1, OFF for COM2
  1654. 2    OFF    Single line
  1655. 3    ON    Follow DCD
  1656.  
  1657. Hayes 300/1200 baud internal modems with 6 configuration switches
  1658. require the following switch setting:
  1659.  
  1660. SW    State    Meaning
  1661. --    -----    -------
  1662. 1    UP/DOWN    DOWN for COM1, UP for COM2
  1663. 2    UP    Single line
  1664. 3    DOWN    Follow DCD
  1665. 4    UP    Follow DTR
  1666. 5    UP    Bell standard
  1667. 6    UP    Dial pulse rate
  1668.  
  1669. >>>2400 Baud Modems
  1670.  
  1671. 2400 baud modems use software configuration commands instead of
  1672. hardware dip switches.  The configuration setting is stored in
  1673. non-volatile memory which is remembered even over power shutdowns.
  1674. The Hayes Smartmodem 2400 baud commands are typical, and work as
  1675. follows: Use any terminal program to talk to the modem.  Type ATZ to
  1676. make sure you are connected.  The modem will reply OK.  Enter the
  1677. command AT&F which restores the factory default settings.  The modem
  1678. will reply OK.  Then give the command AT&C1&D2.  This command
  1679. instructs the modem to detect carrier (&C1) and to follow DTR (&D2).
  1680. The modem will again reply OK.  Then give the command AT&W to make
  1681. the changes permanent.  The modem will again reply OK.  Modems may
  1682. differ from brand to brand, so read your modem manual carefully.
  1683.  
  1684. Here in detail is how to reprogram a 2400 baud modem for use with DLX:
  1685.  
  1686. Hook your modem to your computer through a regular serial port, NOT a
  1687. DigiBoard.  If you're already installed two DigiBoards, then either
  1688. remove them and put back a serial port, or do this on another
  1689. computer.  It doesn't matter if the modem is hooked to a phone line
  1690. or not.  At this point, we just want to program the modem itself.
  1691.  
  1692. Activate a terminal program, such as Procomm, Telix, Windows
  1693. Terminal, etc.  Almost any such program will work fine.  Type the
  1694. command ATZ.  You should see "OK" come back.  If not, you don't have
  1695. the modem hooked up right.
  1696.  
  1697. Next type AT&F - this sets the modem back to the factory default
  1698. setup.  You should see an OK come back.
  1699.  
  1700. Next type AT&C1 - this tells the modem to detect carrier.  Again, you
  1701. should get OK.
  1702.  
  1703. Next type AT&D2 - this tells the modem to follow DTR.  Again, an OK
  1704. will come back to you.
  1705.  
  1706. Next type AT&T5 - some modems require this to prevent callers from
  1707. putting your modem in a test state.  The modem will either reply OK
  1708. or ERROR depending on whether it supports this feature.  Either reply
  1709. is acceptable.
  1710.  
  1711. Finally, type AT&W - this writes your new setup to the non-volatile
  1712. memory.
  1713.  
  1714. Repeat this process for each of your modems.  You only have to do
  1715. this once.  The setting is preserved even if you remove power from
  1716. the modem.
  1717.  
  1718. >>>9600 Baud and Other High Speed Modems
  1719.  
  1720. DLX will work fine with modems of any speed, so long as they are
  1721. fully compatible with the Hayes AT command set and responses.
  1722. Always begin by programming them as described for 2400 baud modems.
  1723.  
  1724. There are many different kinds of 9600 baud modems (and faster) on
  1725. the market.  The best kind for DLX are V.32 and V.42bis modems.  The
  1726. V.32 standard provides secure 9600 baud and supports true full duplex
  1727. operation, which an interactive program like DLX needs.  The MNP
  1728. protocols that some modems support are not useful with a program such
  1729. as DLX, because the error checking and compression that they do in
  1730. hardware is already done in software (XMODEM and ZIP).
  1731.  
  1732. Older types of high speed modems, such as HST, will also work, but
  1733. you may find that using them gives a kind of herky-jerky interaction
  1734. with DLX.  This is because these modems are basically half-duplex and
  1735. they pause when changing from sending to receiving.
  1736.  
  1737. For example, take the US Robotics Dual Standard (V.32 and HST) modem.
  1738. Here are some tips for it: Set it up as you would a regular 2400 baud
  1739. modem.  Also initialize it with AT&A0&W -- this command causes it to
  1740. connect with a regular Hayes-style message of CONNECT followed by the
  1741. baud rate.  Add B0 to the modem initialization string in your PARAMS
  1742. file -- this enables the V.32 mode.  The modem will work fine with
  1743. 9600 baud callers and also 300/1200/2400 baud callers.
  1744.  
  1745. You may find that callers with 9600 baud modems have trouble
  1746. connecting reliably with your slower 2400 baud modems, or vice versa.
  1747. The reason for this is that the high speed modem is trying to
  1748. establish a high speed connection, trying first one protocol and then
  1749. another.  This is all futile, of course, so the best way to deal with
  1750. it it for the caller to command her modem to just try plain 2400.
  1751. The command need for this depends on the particular high speed modem.
  1752. Some commands that have worked for various callers are: ATQ0,
  1753. ATN0S37=6&Q6 and AT&Q6&K0.
  1754.  
  1755. Modem Troubleshooting
  1756.  
  1757. Modems are troublesome devices because they are part analog and have
  1758. to interact with the telephone network.  The telephone network itself
  1759. is not uniform from place to place and from time to time.  Here are
  1760. some tips for dealing with common problems:
  1761.  
  1762. Callers can't connect or dropped immediately after connect
  1763.  
  1764. Modems communicate with each other by sending tones at standard
  1765. frequencies and phases.  The receiving modem filters the incoming
  1766. sounds to remove all noise, leaving just the standard tones,
  1767. hopefully without phase distortion.  Problems occur if (1) the
  1768. sending modem is off frequency or phase, or (2) the receiving modem
  1769. has poor filters (poor frequency or phase response and linearity).
  1770. Generally, the cheaper the modem the worse it is (obviously).  Real
  1771. cheap modems may not be able to connect to your board.  To some
  1772. extent you can make up for this by using top quality modems with good
  1773. filters.  Noisy phone lines aggravate the problem.  You can change
  1774. your PARAMS to make your system somewhat more tolerant if you like:
  1775. Append S10=12 to your modem initialization string and increase the
  1776. sixth modem timing parameter to 10 or so.
  1777.  
  1778. Another cause of this is trying to use high-speed modems to talk to
  1779. plain 2400 baud modems, or vice versa.  This works fine in 95% of the
  1780. cases, but that 5% is enough to be a recurring headache for sysops.
  1781. When high-speed modems try to make a connection, they first try one
  1782. protocol, then another, then a third and so on.  The fancier the
  1783. modem the longer the list .  The computer on the other end may lose
  1784. patience and hang up.  To counter this, the person with the high
  1785. speed modem should set it to not try so many protocols, perhaps only
  1786. the right one!  On many high speed modems, the following will work to
  1787. set it to just 2400 baud: ATN0S37=6&Q6.  The S37=< > portion
  1788. determines the data rate.  Use S37=3 for 300 baud, S37=5 for 1200
  1789. baud and S37=6 for 2400 baud.
  1790.  
  1791. BBS Modems don't always answer
  1792.  
  1793. DLX normally resets the modem after each call and programs it to
  1794. autoanswer each time.  You may find that it works better to put your
  1795. modems in permanent auto-answer mode instead.  (This does have one
  1796. disadvantage: when your system is down, the modems will still
  1797. answer.)  You can put 2400 baud modems in autoanswer mode by
  1798. programming them.  Here's how: Connect the modem to a terminal
  1799. program like Procomm.  Type ATZ (in caps) and you should get "OK"
  1800. back if you're connected right.  Then type the command ATS0=1&W which
  1801. sets permanent auto-answer mode.  You will get "OK" back if it worked
  1802. right.  The modem will remember this programming, even if you unplug
  1803. it.
  1804.  
  1805. Callers being dropped in the middle of a call
  1806.  
  1807. This can certainly be a distressing problem.  There are many possible
  1808. causes.  Here's a list of some which we've identified:
  1809.  
  1810. Call Waiting on BBS line
  1811. Surely you don't have call waiting on your BBS line?  Yet sometimes
  1812. the phone company will have it on there even without telling you
  1813. about it.  Best to run a check.  If you have call waiting, the little
  1814. beep or click that comes with another call will drop the connection.
  1815.  
  1816. Call Waiting on CALLER line
  1817. Same problem if your caller has call waiting.  Many phone companies
  1818. have a special way to turn off call waiting for the next call, for
  1819. example typing *70 or 1170 before the call.
  1820.  
  1821. Incompatible modems
  1822. Unfortunately, not all modems can talk to each other.  The problem is
  1823. that some cheap modems are pretty far out of "spec", in terms of the
  1824. tones they put out.  The more expensive modems tend to not only have
  1825. accurate tones, but also to have better filters so they can to some
  1826. extent compensate for poor modems on the other end.  Which modems are
  1827. "best" is something that changes all the time, but it's a good bet
  1828. that the very cheapest modems aren't the best.
  1829.  
  1830. Everyone who's been a SysOp has gotten the message "I can't connect
  1831. to your system and I know my equipment is OK because I can connect to
  1832. all the other boards."  Telephone lines and modems are analog devices
  1833. they cannot be made 100% reliable.
  1834.  
  1835. Modems not hanging up at the end of a call
  1836.  
  1837. DLX orders modems to hang up by sending a signal on the "DTR" (data
  1838. terminal ready) line.  This line is one of the wires in the cable
  1839. that connects the modem to your computer.
  1840.  
  1841. A standard serial cable has between 3 and 25 wires in it.  These
  1842. wires are named according to the RS-232 standard.  For purposes of
  1843. hanging up, DLX needs to use line 20 (DTR).  Almost all cables have
  1844. this line, but a few really cheap ones don't.  If you suspect this,
  1845. test the cable with an ohm-meter or RS-232 breakout box.
  1846.  
  1847. In the case of internal modems, an RS-232 cable is not used and won't
  1848. be a problem.
  1849.  
  1850. Your modems must also be setup to obey DTR, i.e. to hang up when DLX
  1851. tells them to.  Many modems come standard from the factory configured
  1852. to ignore DTR.  The reason for this is that most modems are used to
  1853. call BBSes, not be on the other side.  To change the modem
  1854. configuration, you must either change the dip switches on the modem
  1855. (if it has any) or send special AT& configuration codes to the modem.
  1856.  
  1857. Most 2400 baud modems use soft configuration (AT& commands).  A
  1858. typical command would be AT&C1&D2&W, which tells the modem to detect
  1859. carrier on/off, to obey DTR, and to make this state permanent.
  1860. Connect to the modem with a terminal program (e.g. Procomm) and type
  1861. the command.  Procomm doesn't know about Digiboards, so connect your
  1862. modem to a normal serial port.
  1863.  
  1864. If you're still having trouble, try increasing the first modem timing
  1865. parameter (in the PARAMS file).  Or try changing the modem reset
  1866. command ATZ (in the STRINGS file) to ATH0 (which means hang up the
  1867. phone).
  1868.  
  1869. Particular line is not reliable
  1870.  
  1871. Here's the scenario: You're running a DLX with many lines.  All your
  1872. lines but one are working just fine.  But this one particular line
  1873. keeps giving trouble.  It will work for awhile, then refuse to reset.
  1874. Sometimes !K resets it, sometimes not.
  1875.  
  1876. It takes detective work and time to ferret this one out.  What we
  1877. must do is isolate the problem.  The DLX software treats all lines
  1878. alike, so the problem is likely to be in the phone line connection,
  1879. the modem, the serial port or the computer motherboard.  We want to
  1880. isolate the problem step by step.
  1881.  
  1882. Step 1.  If your system hangs or crashes when a certain line is
  1883. accessed, you have a different problem, probably an I/O port address
  1884. conflict.
  1885.  
  1886. Step 2.  Make sure you are using 16450 UARTs, not old 8250 UARTs.
  1887. The 8250s are too slow even for a 286, much less a more modern CPU.
  1888. These parts are marked in various ways, like 164C50 but it's usually
  1889. obvious.  A 16550 is fine too.
  1890.  
  1891. Step 3.  Swap the telephone line (only) coming in to the problem line
  1892. with another one.  Continue testing for a few days, writing down what
  1893. happens.  Did the problem switch to another line? If so, you have a
  1894. problem with this particular telephone line, probably line noise.  If
  1895. the problem remains on the same line, continue to the next stp.
  1896.  
  1897. Step 4.  Swap the modem on the offending line with another modem.
  1898. Swap JUST THE MODEM.  Be careful to unplug the phone line and replug
  1899. it in the new modem.  We don't want to switch phone lines too.
  1900. Continue testing for a few days more.  Did the problem switch to
  1901. another line?  If so, you have a bad modem.  Contact the manufacturer
  1902. or dealer for service.  If the problem remains on the same line as
  1903. always, proceed to the next step.
  1904.  
  1905. Step 5.  Swap serial ports or Digiboards.  Either change in a whole
  1906. new one, or on a multi-line system, remove the DigiBoards and
  1907. interchange their switch settings.  Then interchange all the modems
  1908. so that all lines now go into a different Digiboard or serial port.
  1909. Does the problem move to another line?  Then you have a bad DigiBoard
  1910. or serial port.  If not, proceed to the next step.
  1911.  
  1912. Step 6.  If your computer has a speed (turbo) switch, try the slower
  1913. speed.  Does this cure the problem?  If so, you have a poorly
  1914. designed computer.  Does your computer have built-in serial ports?
  1915. These will interfere with a 16+ line DLX unless disabled.  Usually
  1916. this can be accomplished by setting dip switches on your motherboard,
  1917. or by physically removing the ports.
  1918.  
  1919. Line Noise
  1920.  
  1921. Line noise is a very common problem and it affects everyone at one
  1922. time or another.  Telephone lines are highly variable.  Usually, the
  1923. further you are from the the nearest switching center, the worse.
  1924. You can ask to have "data lines" put in, but this will cost money.
  1925. Even the weather can affect things -- you will notice more complaints
  1926. of line noise and inability to connect after a rainfall.  You can
  1927. append S10=12 to your modem initialization param to make your system
  1928. more tolerant of line noise, but slower to connect.
  1929.  
  1930. You can take some steps to alleviate line noise at your end.  First
  1931. off, be careful to not bundle your phone line cards with power cords.
  1932. The phone cords can pick up 60 Hz hum from the power line and this
  1933. can cause problems.  Another factor to consider is the quality of the
  1934. modem itself.  The better modems are more resistant to noise.
  1935.  
  1936. Believe it or not, you can get a certain amount of noise suppression
  1937. by tying knots in the telephone cable between your modem and the
  1938. telephone wall connection.  The knots act as inductors and become a
  1939. simple kind of low-pass filter that acts to suppress noise.  The
  1940. knots also help some as a lightning protector.  And the price is
  1941. right!
  1942.  
  1943. You can do more to improve your modem's resistance to noise with a
  1944. toroid.  Go to Radio Shack and get a snap on choke, aka toroid. Cat.
  1945. No. 273-104.  It is a ferrous core that snaps apart and snaps
  1946. together again.  Snap it open.  Wind your telephone cord around it,
  1947. up to seven times.  Snap it closed.  Place it close to the modem.
  1948. The plastic blister pack comes with two cores.  If you need more
  1949. suppression, use both.
  1950.  
  1951. Finally, you can buy a commercial filter for your modular phone
  1952. cable. A good general purpose filter is available from Hello Direct
  1953. 1-800-444-3556. Ask for item # 3187U Noise Filter for RJ11. The price
  1954. is $9.95. If you are experiencing interference from a nearby radio
  1955. transmitter, a filter for this problem is available from K-COM
  1956. 1-216-325-2110. Ask for Model RF-1. The price for this is $14.95.
  1957.  
  1958. How to "Busy Out" A Telephone Line
  1959.  
  1960. Sometimes a modem will get hung so bad that the !K command cannot
  1961. reset it and power cycling the modem doesn't help either.  You'll be
  1962. able to fix it by shutting down the BBS, turning off all the modems
  1963. and the computer, then restarting everything.  But if the BBS is
  1964. busy, you may want to wait until things quiet down.  While you're
  1965. waiting, you can "busy out" the affected telephone line.  If your
  1966. lines are in a rotary or hunt system, incoming calls will just skip
  1967. over the affected line.
  1968.  
  1969. To busy out a line, you need to make a little gizmo.  Start with a
  1970. telephone cable with modular connectors at both ends.  You need just
  1971. the regular kind with RJ11 four-wire plugs.  If you look into the
  1972. transparent modular connector you'll see four wires, colored black,
  1973. red, green and yellow.
  1974.  
  1975. Cut the cable off about 4 inches from the end.  Use a sharp knife and
  1976. scissors to cut away about 1 inch of the outer insulation.  This will
  1977. expose four little wires.  Cut the black and yellow wires short (they
  1978. won't be connected to anything).  Using a wire stripper, strip off
  1979. half an inch of the insulation on both the red and green wires
  1980. (they're 24 gauge).  Twist the bare wire ends together so that they
  1981. make electrical contact.  Finally, tape up the bare wires with
  1982. electrical tape.
  1983.  
  1984. To busy out a line, just plug this little gizmo into the telephone
  1985. wall socket (or your modem).  This should only be done temporarily,
  1986. and only on rotary/hunt systems where calls will be automatically
  1987. directed to the next line.  On a single line or non-rotary system,
  1988. the shorted line may show up as a problem at the telephone company
  1989. switching center.
  1990.  
  1991. Connecting Hard Wired Terminals
  1992.  
  1993. DLX can be used with hard wired terminals which are directly
  1994. connected without modems.  Terminals are connected using a little
  1995. device called a "null modem."  These can be purchased inexpensively
  1996. (for example, Radio Shack part no. 26-1496, $4.95), or you can make
  1997. your own by interchanging wires on an RS-232 cable.  Make sure you
  1998. get one that supports the DTR and DCD signals.  DLX does flow control
  1999. with XON/XOFF it does not support the RTS/CTS protocol, so you don't
  2000. need to worry about those lines.
  2001.  
  2002. Answer the "activate line" question with the specific baud rate you
  2003. want the hard wired line to use.  DLX will support any rate, but of
  2004. course your hardware may not be up to it if the rate is extremely
  2005. high.
  2006.  
  2007. How to Run DLX Through a Multiplexer or Data-Switch
  2008.  
  2009. A multiplexer is a device which takes a group of serial lines and
  2010. concentrates them into a single serial line of higher speed. This is
  2011. used so that a group of lines can be combined into one and the data
  2012. sent over a high-speed leased line.  This is normally only done by
  2013. universities or companies, because they're expensive.
  2014.  
  2015. A data-switch is a device used by large corporations and universities
  2016. to manage all their incoming telephone data lines.  Typically what
  2017. happens is that you dial the main data number and you get a prompt
  2018. which asks you which system you want.  Then you enter the name of the
  2019. system you want to be connected to.  So maybe there are several
  2020. minicomputers, a mainframe or two, and now you want to hook a DLX
  2021. system in there.
  2022.  
  2023. Here's some general guidelines on how to hook up your DLX to the
  2024. these things:
  2025.  
  2026. 1.  When DLX starts up, instead of responding y to the lines you want
  2027. to activate, instead type the baud rate for that line.  Each line
  2028. will have to have a fixed speed.  A typical multiplexer will have an
  2029. incoming number for 300 baud, one for 1200 baud and one for 2400
  2030. baud.  Divide your lines up appropriately.
  2031.  
  2032. 2.  In the PARAMS file, set the "maximum number of retries when
  2033. resetting modem" line to 0.  Since you have to modems directly
  2034. connected, DLX should not issue any modem commands.
  2035.  
  2036. 3.  Ideally, each RS-232 line will support carrier detect (DCD).  In
  2037. this way, DLX will know when a line has been called.  If this is not
  2038. possible, edit your PARAMS file to disable DCD detection, like this:
  2039.  
  2040. FALSE                {sense modem carrier using DCD/RLSD line}
  2041.  
  2042. You may find that users have to type a carriage return when they are
  2043. first connected to DLX in order to get it started.
  2044.  
  2045. 4.  Be cautious about enabling 9600 baud lines (as to a terminal
  2046. room).  A very fast machine indeed will be needed to handle 32 of
  2047. these.
  2048.  
  2049.  
  2050. REFERENCE SECTION
  2051.  
  2052. Automatic Shutdown
  2053.  
  2054. You can set DLX to automatically shut down at a pre-defined time.
  2055. This is done by placing the time you want it to shut down on the
  2056. command line when you start DLX.  For example, to automatically shut
  2057. down at five in the morning, you would use: DLX 5:00 for a command
  2058. line.  At the appointed time DLX does the equivalent of a !DOWN
  2059. command, giving callers 10 minutes warning of the impending shutdown.
  2060.  
  2061. This feature is useful for automatic backup.  You can have a .BAT
  2062. file which starts DLX, then does the backup when DLX shuts down, then
  2063. loops back and restarts DLX.
  2064.  
  2065. Business Mode 
  2066.  
  2067. DLX may be used either as a social system, or for business uses.  You
  2068. can activate business mode by changing that parameter in the PARAMS
  2069. file.  This has the following effect: users are not asked their
  2070. gender, sexual orientation, age, height or weight.  The match command
  2071. simply lists all active users.  You will need to edit the PROMPTS
  2072. file to make it fit your business application.  You will also want to
  2073. revamp the PUBMAIL file to include categories of public messages
  2074. appropriate to your business.  You will also need to change the
  2075. questionnaire files to fit your particular needs.
  2076.  
  2077. Database Subsystem
  2078.  
  2079. You can have one or more databases of searchable text information.
  2080. The different databases are organized by making subdirectories of the
  2081. DATABASE subdirectory, one for each database.  Edit the MENU file in
  2082. the DATABASE subdirectory, describing the database choices.  Popular
  2083. databases are descriptions of all the files in the library, or brief
  2084. descriptions of all callers.
  2085.  
  2086. Each database consists of a set of files.  The MENU file describes
  2087. the database and what sort of choices are available.  The DATA file
  2088. contains the basic database itself.  This file consists of plain
  2089. ASCII text, divided into lines.  Each line of the file corresponds to
  2090. one entry in the database.  The lines in this file do not have to be
  2091. the same length.  The maximum length of a line is 80 characters.  The
  2092. HEADER file precedes the listing of lines from the DATA file and
  2093. labels the fields.
  2094.  
  2095. You may provide additional information on any line in the DATA file.
  2096. To do this, make the first field of each DATA line a record number
  2097. (these don't have to be in order).  Provide additional information
  2098. about, for example, record 12 in a file called 12.TXT -- this is just
  2099. a plain ASCII text file.  It is not strictly necessary to use numbers
  2100. here, any string of characters up to 8 that are allowed as part of a
  2101. MS-DOS filename will work OK.
  2102.  
  2103. The following is an example database of Los Angeles restaurants.  The
  2104. menu file, used to describe the database, looks like this:
  2105.  
  2106. The DINING database contains information on Los Angeles area
  2107. restaurants.  You may search on any combination of key words.  As an
  2108. example, to find all Chinese restaurants in Hollywood, use CHINESE
  2109. HOLLYWOOD as your search key.  You may abbreviate -- IT is the same
  2110. as ITALIAN, etc.
  2111.  
  2112. The header file, used to label fields, looks like this:
  2113.                                                                    More
  2114. Number Name            Cuisine    City              Phone #        info?
  2115. ========================================================================
  2116.  
  2117. And the data file itself looks like this:
  2118.  
  2119.    1   Aegean Isles    Greek       Marina del Rey   213-822-6221    NO
  2120.    2   Akbar           Indian      Marina del Rey   213-822-4116    YES
  2121.    3   Anna Maria's    Italian     Santa Monica     213-394-5945    NO
  2122.    4   Arsenal         American    West Los Angeles 213-479-9782    NO
  2123.    5   Benihana        Japanese    Beverly Hills    213-655-7311    NO
  2124.    6   Benihana        Japanese    Encino           818-788-7121    NO
  2125.    7   Benihana        Japanese    Marina del Rey   213-821-0888    NO
  2126.    8   Cafe Casino     French      Santa Monica     213-394-3717    NO
  2127.    9   Cafe Casino     French      Westwood         213-208-1010    NO
  2128.   10   Szechwan        Chinese     Marina del Rey   213-821-6256    NO
  2129.   11   Cyrano's        Continental Marina del Rey   213-823-5305    NO
  2130.   12   Fiasco          Californian Marina del Rey   213-823-6395    NO
  2131.   13   Great Wall      Chinese     Marina del Rey   213-827-1414    NO
  2132.   14   Gulliver's      English     Marina del Rey   213-821-8866    NO
  2133.   15   Joe Petrelli's  American    Culver City      213-398-9777    NO
  2134.   16   Three Flames    Mongolian   Westchester      213-641-6868    YES
  2135.   17   Pizza Man       Italian     Marina del Rey   213-301-0069    YES
  2136.   18   Barneys Beanery American    West Hollywood   213-656-0433    NO
  2137.   19   Los Gringos     Mexican     Encino           818-906-2255    NO
  2138.   20   Good Earth      Natural     Encino           818-986-9990    NO
  2139.   21   Good Earth      Natural     Woodland Hills   818-888-6300    NO
  2140.   22   Lucky           Chinese     Hollywood        213-463-0464    NO
  2141.   23   Golden Hunan    Chinese     Northridge       818-363-5511    NO
  2142.   24   Maison Gerard   French      North Hollywood  818-766-3841    NO
  2143.  
  2144. You can search this on any combination of key words.  If you give
  2145. ITALIAN MARINA as the search key (capitalization is ignored), then
  2146. you would get back a listing of all Italian restaurants in Marina del
  2147. Rey.  You would get the same answer if you used MARINA ITALIAN as the
  2148. search key.  Abbreviations such as IT for ITALIAN are allowed, too.
  2149. As it happens, there is only one matching entry in the database,
  2150. namely number seventeen "Pizza Man."  You can then ask for more info
  2151. about number 17, which causes the file 17.TXT to be displayed:
  2152.  
  2153. PIZZA MAN
  2154.  
  2155. FRESH, HOT, FAST AND FREE DELIVERY
  2156.  
  2157. We make our dough fresh
  2158. and we use 100% real mozzarella cheese
  2159.  
  2160. 213-301-0069
  2161.  
  2162. Call for take-out or free delivery
  2163. Minimum order $5.00
  2164. OPEN: Every Day 12 Noon 'til 12 Midnight
  2165.  
  2166. 13352 Washington Blvd, Marina del Rey
  2167.  
  2168. Error codes - What they mean
  2169.  
  2170. The &ED ampersand code is used to display certain file system errors.
  2171. These error codes are normally the result of a disk error.
  2172.  
  2173. Code    Message        Meaning
  2174. ----    -------        -------
  2175. -1    File in use    Another user online is using this file right
  2176.             now.  An example of when this might
  2177.             happen is attempting to send a message to a
  2178.             user who is in the process of logging on
  2179.             and has half their mail read in so far.  The
  2180.             proper response to this error is simply to try
  2181.             again later.
  2182. 0    Disk        General I/O error - amy indicate a problem
  2183.             with the hard disk itself.
  2184. 2    File not found    Requested file does not exist.
  2185. 3    Path not found    Requested subdirectory does not exist.
  2186. 4    Too many open files Try increasing the FILES= parameter in
  2187.             your CONFIG.SYS file.
  2188. 5    Access denied    MS-DOS refuses permission.  For example,
  2189.             trying to write to a read-only file.
  2190. 7,8,9    Corrupt memory    See section of this manual on memory
  2191.             errors.
  2192. Other    Unknown        All other errors.
  2193.  
  2194. Errorlevel when DLX Exits
  2195.  
  2196. When DLX exits to MS-DOS, it sets the MS-DOS errorlevel depending on how
  2197. DLX was terminated.  This can be sensed by an "if errorlevel" command
  2198. in a .BAT file.
  2199.  
  2200. Reason for Exit    Errorlevel
  2201. ---------------    ----------
  2202. Time out    0
  2203. !DOWN        1
  2204. !BYE        2
  2205. Ctrl-Break    3
  2206.  
  2207. File Library
  2208.  
  2209. This library is the part of DLX where files are stored.  These files
  2210. can be downloaded by callers using the XMODEM or XMODEM-1K protocols.
  2211. Callers may also upload files to add to your library.  Time used to
  2212. upload files is not counted in a caller's connect time.
  2213.  
  2214. To set up your library, CD to your LIBRARY directory and make
  2215. subdirectories for each of the categories you want.  Prepare a file
  2216. LIBRARY\MENU listing the categories you have chosen.  Also create
  2217. MENU files within each category (subdirectory).  A simple way to
  2218. prepare a MENU file is to connect to the relevant subdirectory and
  2219. issue the MS-DOS command DIR >MENU.  If you do not provide a MENU file,
  2220. DLX will show a simplified DIR listing in response to the "L"
  2221. command.
  2222.  
  2223. If you wish, you may restrict uploads to categories starting with the
  2224. letter 'U' (set this option in the PARAMS file).  The idea is that
  2225. there will be a special category, for example UPLOADS, for newly
  2226. uploaded programs.  After the new programs have been checked out by
  2227. the SysOp, they can be moved to other categories.  Programs can be
  2228. downloaded directly from the UPLOADS category, but users will know
  2229. that the contents there have not yet been screened by the SysOp.
  2230. Every upload category needs a MENU file too.  This can just be a
  2231. title to start with.  As each file is uploaded, a one line
  2232. description is appended to the MENU file.
  2233.  
  2234. You may have a library that consists of multiple pathnames or
  2235. volumes.  You can do this by specifiying several paths in the PARAMS
  2236. file entry for library pathname, separated by semicolons.  For
  2237. example, you could use LIBRARYD: to allow your "D" drive to contain
  2238. library categories off the root directory.  This can also be used to
  2239. add CD-ROM drives to your library.  The first path you list must
  2240. contain your main library MENU file.  If you are connected to a
  2241. library category that has subdirectories, then you can connect to
  2242. them by typing their name.  This allows unlimited nesting of library
  2243. categories.
  2244.  
  2245. File Transfer Protocols
  2246.  
  2247. Files can be transferred using plain ASCII, XMODEM or XMODEM-1K
  2248. protocols.  ASCII is suitable only for text files, but it will work
  2249. with any terminal or communications program.  XMODEM and XMODEM-1K
  2250. are best used for binary files, such as programs or archives.  Both
  2251. protocols provide error detection and recovery.  They can transmit a
  2252. file correctly even in the prescence of noise and line errors.  They
  2253. differ in that XMODEM uses a 128 byte block size and XMODEM-1K uses a
  2254. 1024 byte block size.  XMODEM is usually preferred if line noise is a
  2255. problem, whereas XMODEM-1K is better when the connection is more
  2256. solid.
  2257.  
  2258. The XMODEM-1K-G protocol is useful when you are communicating over a
  2259. reliable link, i.e. one which already has error correction on it, for
  2260. example a packet switched network.  On a reliable link, XMODEM-1K-G
  2261. can be faster than XMODEM-1K.
  2262.  
  2263. How to set up a big library on multiple disks.
  2264.  
  2265. A DLX structured library allows you to have as many library
  2266. categories and files as your disk will hold.  But what if that's not
  2267. enough?  You can set up a library which spans several disk drives.
  2268. You can mix actual disk drives and CD-ROM drives, too.  Here is an
  2269. example of how to do this:
  2270.  
  2271. If we assume you started out with the DLX default setup, then your
  2272. library path would have been in C:\DLX\LIBRARY.  The various
  2273. categories you setup would be subdirectories of C:\DLX\LIBRARY.  Now
  2274. it's full and you want to expand to the D: drive.  Setup your new
  2275. library categories as subdirectories of D: -- for example D:\UPLOADS.
  2276. Edit your file C:\DLX\LIBRARY\MENU to list both the old and new
  2277. categories.  Edit your PARAMS file, so that LIBRARYD: is your library
  2278. path.  That means that DLX will look first under LIBRARY to find
  2279. categories, and under D: next.  The semicolon is a separator between
  2280. paths.
  2281.  
  2282. Upload and Download Logs
  2283.  
  2284. DLX maintains an upload log file and a download log file.  These log
  2285. files record all uploads and downloads performed while the system is
  2286. running.  You can copy these files to a floppy even while the system
  2287. is running (using !DOS) and analyse them on another computer.  The
  2288. files used are specified in the PARAMS file by the lines:
  2289.  
  2290. DLOG                 {log file for downloads}
  2291. ULOG                 {log file for uploads}
  2292.  
  2293. Each time a file is uploaded or downloaded, a line of information
  2294. about the transfer (filename, category, time and date, name and file
  2295. number, etc) is appended to the appropriate log file (ULOG or DLOG,
  2296. if you use the names above).  This file is cleared everytime DLX
  2297. starts up.  If you want a permanent record, do the following MS-DOS
  2298. commands before restarting DLX:
  2299.  
  2300. type dlog >>old_dlog
  2301. type ulog >>old_ulog
  2302.  
  2303. The files old_dlog and old_ulog will contain the permanent record.
  2304.  
  2305. Mail
  2306.  
  2307. How to Print Mail 
  2308.  
  2309. You can print out the mail file of any user.  For example, to print
  2310. the mail file of user 1, enter the following command from the DLX
  2311. directory: print mailbox\usr00001.  The user number must be padded
  2312. with leading zeros to make a five digit number. 
  2313.  
  2314. I'm the SysOp but my mailbox is full
  2315.  
  2316. Use the !M command to give yourself more mailslots.  The default is
  2317. 10.  You can make it any number.  DLX will run out of main memory
  2318. around 200 messages, though.
  2319.  
  2320. How RS (read since) and SS (scan since) work
  2321.  
  2322. RS (read since) and SS (scan since) read or scan the public messages
  2323. that are new since the last time the user logged in.  Note that this
  2324. is NOT the same as "read/scan all unread messages."  All logins count
  2325. the same, even if the user did not read any public mail.
  2326.  
  2327. International Concerns
  2328.  
  2329. DLX can be used anywhere in the world.  It will work with either
  2330. American or CCITT modems.  DLX normally works in a full duplex mode,
  2331. but you can suppress "host echo" by setting the appropriate entry in
  2332. the PARAMS file.  If you need special characters above the 128
  2333. provided in the ASCII standard, enable "8 bit mode."  This will allow
  2334. any 8 bit byte to be entered by callers.  The normal "7 bit mode"
  2335. automatically ignores and strips the 8th "parity" bit.  In "8 bit
  2336. mode" it will not be ignored, and so callers must have their
  2337. terminals set to 8 bits, no parity.
  2338.  
  2339. In the social mode, you may choose either the English or metric
  2340. system of measure for height and weight.  In the English system,
  2341. height is measured in feet and inches, and weight is measured in
  2342. pounds.  In the metric system, height is measured in centimeters and
  2343. weight (mass) in kilograms.  These affect the matchmaking percentage
  2344. as well as the input format allowed.
  2345.  
  2346. DLX will use whatever date format is selected for MS-DOS by the COUNTRY=
  2347. setting in the CONFIG.SYS file.  Therefore, it's important to set the
  2348. COUNTRY= parameter correctly for your country code.
  2349.  
  2350. The STRINGS file keywords To/From/Subject/Date, used in the headers
  2351. of messages, can be changed, but it must be done carefully if it is
  2352. to work correctly.  The reason that care is needed is that DLX uses
  2353. these words both to generate messages and also to decode them when it
  2354. reads them back in from the disk.
  2355.  
  2356. Edit the entries for these words in the STRINGS file.  You must use a
  2357. left justified string of characters, with no embedded blanks. Also
  2358. change all occurences of these words in the PROMPTS file.
  2359.  
  2360. After making these changes, all existing mail, both public and
  2361. private, must be deleted.  In other words, all files in the MAILBOX
  2362. and PUB-BOX subdirectories must be deleted.  The reason for this is
  2363. that DLX will no longer be able to read these in properly, since they
  2364. were written with the old keywords.  The STRINGS file and the actual
  2365. mail must match exactly in all cases.
  2366.  
  2367. Memory Management
  2368.  
  2369. Memory Usage
  2370.  
  2371. If you answer yes to the Check Memory prompt when booting DLX, it
  2372. will allocate all available memory, thus verifying that the main
  2373. memory area is functioning correctly and also determining its size.
  2374. The estimate of free memory depends on this size, which is remembered
  2375. between bootups.  If you change the amount of memory available to
  2376. DLX, you should run the memory check again.
  2377.  
  2378. When someone calls in, their mail is read into your main RAM memory.
  2379. Each line of a messages takes about 40 bytes.  So, for example, a
  2380. caller with 10 25 line messages will use up 10 x 25 x 40 = 10K bytes
  2381. of free space.  Keep this in mind when setting the limits on mailbox
  2382. size and length of messages.  While it's unlikely that all callers
  2383. would have their mailboxes full of maximum length messages, on the
  2384. other hand you should not be excessively generous in granting mailbox
  2385. space, or the system will run out of memory.  If this happens, the
  2386. system may crash, or your users may lose mail.
  2387.  
  2388. The !DOS Command
  2389.  
  2390. The !DOS SysOp command allows you to execute a single MS-DOS command,
  2391. such as DIR or COPY.  This facility should be used with great care.
  2392. If you try to use any MS-DOS command that changes the connected
  2393. directory or that requires keyboard input, it will seriously disrupt
  2394. DLX.  The main use of the !DOS command is to copy files to and from a
  2395. floppy diskette so that they can be processed on another computer.
  2396. However, be careful not to copy any files that DLX currently has open
  2397. (the MEMBERS file is always open).
  2398.  
  2399. The warnings about !DOS bear repeating: if you use !DOS to do
  2400. anything other than a DIR or to COPY a file that DLX is not using,
  2401. you run the risk of crashing DLX, losing data or damaging the file
  2402. system on your hard disk.  This may not happen right away, but later
  2403. while DLX is running.
  2404.  
  2405. The !DOS command needs the transient portion of COMMAND.COM to run.
  2406. DLX will use this memory if it needs it, so you may find that !DOS
  2407. doesn't work after the system has been running awhile.
  2408.  
  2409. During the operation of the command given to !DOS, the system is
  2410. frozen.  So if you run a program that takes five minutes, to your
  2411. callers it looks like your BBS froze up for five minutes.  If you get
  2412. one of those "abort, retry, fail" messages, don't panic: a single
  2413. ctrl-Break (not Ctrl-C) will get the board going again.
  2414.  
  2415. Memory Errors - Symptoms:  System Freezes, Run Time Errors
  2416.  
  2417. Your BBS is running fine and then suddenly for no apparent reason it
  2418. freezes.  No key works, not even function keys or control-Break or
  2419. even Control-Alt-Del.  You have to power cycle the machine.  What's
  2420. wrong?
  2421.  
  2422. -OR-
  2423.  
  2424. You receive a message something like this:
  2425.  
  2426. run-time error R6003
  2427. - integer divide by 0
  2428. *** LINE:3, STATE:51
  2429. *** DEPTH:3, INPUT:
  2430. run-time error R6001
  2431. - null pointer assignment
  2432.  
  2433. -OR-
  2434.  
  2435. Your DLX crashes with the message:
  2436.  
  2437. Pointer Damage
  2438.  
  2439. What do these things mean?
  2440.  
  2441. These errors usually indicate a memory problem (your system's RAM
  2442. memory, not hard disk memory). The memory problem can occur in
  2443. several ways.
  2444.  
  2445. (1) Not enough memory installed on your computer.  DLX needs at least
  2446. 1 megabyte of memory.
  2447.  
  2448. (2) Available memory being used up by device drivers, TSR programs,
  2449. etc.  Run MEM at the MS-DOS prompt.  It should show over 500K bytes
  2450. free.
  2451.  
  2452. (3) DLX is using up too much memory.  To get an accurate count, run
  2453. DLX and say yes to the memory check question.  Edit your prompts so
  2454. that &FS and &RH show on the sytem status line.  &FS is the amount of
  2455. room free in the far heap (should be >100K).  &RH is the amount of
  2456. room free in the near heap (should be >5K).  If you're using too much
  2457. memory, there are several remedies: reduce the size of your prompts
  2458. file, cut down the number of public boards, reduce the limit on the
  2459. size of a message, reduce the size of mailboxes, etc.
  2460.  
  2461. (4) Memory not setup right.  This can be because dip switches on the
  2462. motherboard aren't set right, or an add-on memory board isn't setup
  2463. right.
  2464.  
  2465. (5) Memory device driver setup wrong.  For example, 386MAX or QEMM or
  2466. a disk cache not setup right.  All of these are fine if installed
  2467. correctly.  Consult your manual if you use one of these programs.
  2468. Don't use the line STACKS=0,0 in your CONFIG.SYS.file.  Either use
  2469. STACKS =9,256 or leave the line out entirely.
  2470.  
  2471. (6) Memory hardware errors.  Run a memory diagnostic and see if
  2472. errors are found.  You can use one of the many shareware ones.
  2473.  
  2474. (7) I/O port conflicts.  Remove any unusued hardware devices from
  2475. your computer, such as a mouse or printer port.
  2476.  
  2477. Low memory situations
  2478.  
  2479. DLX uses your PC's RAM memory not only for the DLX program, but also
  2480. for a variety of data.  Here's some things you can do to alleviate a
  2481. low memory situation:
  2482.  
  2483. 1.  Use the MS-DOS command MEM (at the MS-DOS prompt) to see how much free
  2484. memory you have.  It should be over 500K.  If not, here's some things
  2485. to try.  In your CONFIG.SYS file, reduce the BUFFERS= parameter to
  2486. something like 10 or 20.  Also in CONFIG.SYS, remove any unneeded
  2487. device drivers, such as DRIVER=ANSI.SYS.  If you have any TSR
  2488. programs, don't install them (remove them from your AUTOEXEC.BAT
  2489. file).
  2490.  
  2491. 2.  Reduce the size of your PROMPTS file.  Each non-blank line uses
  2492. up memory.  One prime candidate for reduction is the SysOp commands.
  2493. Only you will see these, so you can make them as short as possible.
  2494. Reduce the verbosity of other prompts as well.
  2495.  
  2496. 3.  Cut down on the maximum size of messages and on the size of
  2497. mailboxes.  Each private message uses up memory when the caller is
  2498. online.  A limit of 10 messages per mailbox and 60 lines per message
  2499. is good.  These things are controlled by the PARAMS file.
  2500.  
  2501. 4.  If you have a 386 or 486 computer, you can use programs like
  2502. 386MAX or QEMM to get more usable memory.  Consult your MS-DOS manual
  2503. for tips on how to use the EMM386 program that comes with MS-DOS to
  2504. get more memory.
  2505.  
  2506. Order Entry System
  2507.  
  2508. DLX includes an order entry system that callers can use to send in
  2509. orders.  This subsystem is accessed from the main menu by using the O
  2510. command.
  2511.  
  2512. The order form is kept on disk in the file ORDER.  This is a text
  2513. file with a series of questions which the user is asked to provide
  2514. one-line answers.  Each question must be followed by &X on a separate
  2515. line.  You can have as many questions as you like.
  2516.  
  2517. The completed order is sent as a message to the user specified in the
  2518. PARAMS file by this line:
  2519.  
  2520. 1                    {who processes orders}
  2521.  
  2522. Page Pause
  2523.  
  2524. DLX asks each caller for the number of rows of characters displayed
  2525. on their terminal screen.  It will pause the output when this number
  2526. is reached.  If the user enters a page size of zero, that will
  2527. suppress page pause, for those who don't like it.  In any case,
  2528. Ctrl-S/Ctrl-Q can always be used to stop and restart output.
  2529.  
  2530. When end of page is reached, the user is given the choice of
  2531. continuing the list (Y), stopping it (N or Q), or going to a
  2532. continuous listing (C).  If the choice is to stop, the equivalent of
  2533. a Ctrl-C happens.  If the choice is continuous listing, the rest of
  2534. the output appears without further pauses.  Page pause resumes with
  2535. the next output sequence.
  2536.  
  2537. When a user first calls, before she logs in, DLX doesn't know what
  2538. page size she has set.  This also applies to new users before they
  2539. answer the page size question.  In these situations, DLX uses the
  2540. default page size set in the PARAMS file.  Normally, a value of zero
  2541. or 24 would be used.  If this number is negative, page pausing is
  2542. suppressed everywhere and the page size question is not asked.
  2543.  
  2544. Special ampersand controls are provided to give you additional
  2545. control over the occurence of page pauses.  &PP prevents page pause
  2546. on the current output sequence.  &RP resets the page pause count, so
  2547. that the current line is considered a page boundary.
  2548.  
  2549. Prime Time
  2550.  
  2551. You have the choice of limiting prime time access or not.  You may
  2552. also select which hours are to be "prime time".  If you change them,
  2553. don't forget to change the corresponding lines in the PROMPTS file.
  2554. You also have the option in the PARAMS file of allowing new users
  2555. during prime time, or not. 
  2556.  
  2557. Running a Social BBS
  2558.  
  2559. How to change a user's gender
  2560.  
  2561. Callers cannot change their gender (or sexual orientation) by
  2562. re-answering the questionnaire.  This is to prevent people from
  2563. changing their gender, then reading a public mail category reserved
  2564. for the opposite sex, then changing back.
  2565.  
  2566. Of course, every now and then there is a legitimate reason to change
  2567. someone's sex.  This is how you, the SysOp, can do it.
  2568.  
  2569. Use the !X command to cross over to their account.  Then re-answer
  2570. their main questionnaire all the way through to the "filing
  2571. questionnaire" at the end.  Then logout.  Their gender will be as you
  2572. set it.  If you didn't get the rest of their answers right, it won't
  2573. matter.  They can easily change the other answers themselves.
  2574.  
  2575. How the match percentage (&PC) is computed
  2576.  
  2577. First off, the match percentage is a pretty whimsical concept.  No
  2578. one should take it seriously.  The match percentage is just there for
  2579. fun.  Of course, it's not defined in the business mode.
  2580.  
  2581. The intent of the match percent is to measure the likelihood of
  2582. romantic interest between two available adults.  It doesn't measure
  2583. the likelihood of non-romantic interest, say between straight people
  2584. of the same sex.
  2585.  
  2586. The match percentage is computed by a complex formula.  It takes into
  2587. account the user's sex, sexual orientation, age, height, weight,
  2588. city, state and how well the questionnaire answers match up.
  2589.  
  2590. Gender and sexual orientation count heavily.  A straight and a gay
  2591. (no matter what the sex) will always match 0% to each other because
  2592. presumably at least one of them would have no interest.
  2593.  
  2594. By convention, callers always match 100% to themselves.
  2595.  
  2596. Propinquity counts, too.  A match with a person in another state has
  2597. a strike against it from the start.  Age is a factor: a great age
  2598. difference is a disadvantage.  Height and weight differences are also
  2599. considered in male/female matches.  Many people are uncomfortable if
  2600. the woman is larger than the man.  And most people are turned off is
  2601. someone is terribly fat.
  2602.  
  2603. How to put the match percentage on the "who" status line.
  2604.  
  2605. You can add the match percentage to your "who" command status
  2606. listing.  It is a little tricky, tho.  Remember that the match
  2607. percentage is relative to who is doing the matching.  Someone who
  2608. matches high to one person may match low to another.
  2609.  
  2610. What you DON'T want to do is add &pc to the status line that shows up
  2611. on the sysops console.  This will look the same to everyone.
  2612. Instead, add the &pc to the "who" status line.  That's the one which
  2613. in the default PROMPTS file has the code "&sl" in it.
  2614.  
  2615. The original line is:
  2616.  
  2617.     &{&sl &cs
  2618.  
  2619. Try this instead:
  2620.  
  2621.     &{&3&>&pc&~ &sl &cs
  2622.  
  2623. System Security
  2624.  
  2625. Backup
  2626.  
  2627. Back up all data files frequently.  Hard disks are not perfectly
  2628. reliable, and there will eventually be a need for the backup. The
  2629. most important file to back up is the MEMBERS file.  Copy this to a
  2630. floppy disk periodically.  If MEMBERS becomes larger than one floppy
  2631. can hold, it can still be saved on more than one floppy disk by using
  2632. the MS-DOS backup command.  As a bare minimum, copy MEMBERS to
  2633. MEMBERS.BAK on the hard disk to provide some protection.
  2634.  
  2635. Passwords and their weaknesses
  2636.  
  2637. Passwords are the main means of security in DLX.  Be careful not to
  2638. let anyone find out your password.  Use a meaningless combination of
  2639. letters, numbers and punctuation marks.  Never use the same password
  2640. on other BBSes.  For extra safety, change it from time to time.  If a
  2641. user forgets her password, you can use the !X command to login as
  2642. that user, and then use the NEWPASSWORD command to enter a new
  2643. password.  It is especially important for level 9 (SysOp) users to be
  2644. careful about their passwords.  Level 9 passwords should never be the
  2645. same as passwords used on other systems.  DLX does not allow users to
  2646. use their name or file number as a password, since it's too easily
  2647. guessed.  Passwords are stored in a scrambled form in the MEMBERS
  2648. file, so even if someone gets access to your computer, they won't get
  2649. the passwords.
  2650.  
  2651. Password security can be penetrated.  You should be aware of the
  2652. three most common ways that this can happen:
  2653.  
  2654. 1.  Same handle and password on several BBSes.  It's quite common for
  2655. callers to use the same password on several systems.  In this case,
  2656. if you know their password on one system, you know it on all of them.
  2657. This method is sometimes used by unscrupulous sysops, and sometimes
  2658. by knowledgable users on BBSes that store passwords in a plain text
  2659. file which can be downloaded.
  2660.  
  2661. 2.  Storing password in login script.  Most terminal or communication
  2662. programs allow you to record a login script, so that you can just
  2663. select the entry for a particular BBS and the program will call it
  2664. and login for you.  It's poor security practice to include your
  2665. password in such a script, since anyone with access to your computer
  2666. can use it, and can also find out the password itself since the
  2667. scripts are often kept in plain text form.  Unless you are a hermit,
  2668. you should stop the login script just before entering your password,
  2669. and then always enter your password by hand.
  2670.  
  2671. 3.  Easily guessed password.  This is all too common.  An example
  2672. would be a handle of Pepper using a password of "salt."  One user
  2673. chose the password "password."  It's best to choose a random
  2674. combination of letters, numbers and punctuation marks.  A typical
  2675. speaking vocabulary for English is 10,000 words.  It would be
  2676. feasible for someone to write a program to call your BBS repeatedly
  2677. and try them all.  Choosing a random password makes it harder to
  2678. guess.
  2679.  
  2680. Other methods for obtaining passwords, such as Trojan Horse programs,
  2681. are also possible but rarer.  Keep your eyes open and don't be
  2682. overconfident of password protection.  Change your own password from
  2683. time to time, too.
  2684.  
  2685. Verification
  2686.  
  2687. You have the choice of requiring verification data or not.  If you do
  2688. require it, then new users will be asked their real name, address,
  2689. and phone number.  This information will be recorded to the REALNAME
  2690. file and also sent to the SysOp as a message.  We recommend that you
  2691. verify all users to protect your system from pranksters.
  2692.  
  2693. It's generally a good idea to take action to verify the phone number
  2694. and address of new users.  Experience has proven that this
  2695. discourages pranksters from abusing your system.  The most common
  2696. method of verification is to call up each new user at the phone
  2697. number they've given, calling out-of-town numbers collect.  You will
  2698. find a side P.R. benefit in that people like getting these calls, and
  2699. they will usually be on the system within 20 minutes after receiving
  2700. such a call.  Alternatively, you can ask new users to send you a
  2701. self-addressed, stamped envelope.  Foreign users can send you an
  2702. International Reply Coupon.  When you receive this, increase their
  2703. user level and change their password (using !L, !X and NEWPASSWORD).
  2704. Use their envelope to mail them their new password.  In this way, you
  2705. have verified their mailing address.  You can also include a flyer
  2706. about your BBS.  Telephone verification is more work, but you will
  2707. get more users that way.
  2708.  
  2709. User Levels 
  2710.  
  2711. User levels can range from 0 to 9.  Sysop-only features are limited
  2712. to level 9 users.  By editing the PARAMS file, you may set the
  2713. privileges granted to users with levels below 9.  Each level has a
  2714. time limit and a set of privileges.  If you change the default setup
  2715. be sure to edit the PROMPTS file also.
  2716.  
  2717. DLX provides ten user levels (0-9), whose privileges you may assign
  2718. as you wish.  One way to set it up would be: level 0 is for
  2719. unverified new users, level 3 for verified but non-paying users,
  2720. level 6 for subscribers, and level 9 for the SysOp.  Many variations
  2721. and refinements of this are possible.
  2722.  
  2723. Charging for Access
  2724.  
  2725. DLX has a time accounting system based on charging by the month.  You
  2726. charge callers for each month, and give each user a daily time limit.
  2727. The purpose for this system, instead of charging by the number of
  2728. minutes or hours of connect time (like CompuServe etc), is to
  2729. encourage people to call.  For a social BBS to work, people need to
  2730. do more than just log in, check their mail, and log out.  They need
  2731. to hang around, browse people, maybe chat or read the pubs.  With the
  2732. monthly system, each day is a fresh allotment of time and it's "use
  2733. it or lose it".
  2734.  
  2735. Each user gets a daily time limit which she can use in one call or
  2736. any number of calls.  Each day begins anew.  The &cu code displays
  2737. the cumulative time used today.
  2738.  
  2739. The Bump System
  2740.  
  2741. In addition to usual system of daily time allotments, DLX gives you
  2742. the option of using the "bump system."  The idea behind this is that
  2743. an unused line doesn't do anyone any good, so why not let callers
  2744. stay on until the lines fill up and then "bump" one of them off.  If
  2745. the lines get busy, the system will always try to leave one or more
  2746. lines open for other callers (the number of lines that it tries to
  2747. keep open is in the PARAMS). It does this by bumping callers off the
  2748. system, but only callers who are "bumpable," (over their "Priority
  2749. Access" time) can get bumped. Everyone gets Priority Access time
  2750. (UNbumpable time) but the higher user levels get more.  The line in
  2751. the PARAMS file that gives the time limit for each level gives the
  2752. amount of Priority Access time in the bump system.  There is another
  2753. PARAM "bump max" which sets an absolute max time limit (per day) for
  2754. below a certain level (set by another param).
  2755.  
  2756. For example, you might want to setup your system this way.
  2757. Non-subscribers get 20 minutes a day of Priority Access time
  2758. (UNbumpable time). They also get 40 minutes a day of BUMPable time.
  2759. So, for the first 20 minutes each day (midnight to midnight), they
  2760. can't get bumped if the lines are full or not full. For the next up
  2761. to 40 minutes a day, they can get bumped if the lines get busy (but
  2762. are welcome to call back and try to find the lines not all busy). Once
  2763. they've used up their 60 minutes (20 minutes of UNbumpable time plus
  2764. 40 minutes BUMPable time), they'll be bumped off the system whether
  2765. the lines are busy or not.  In contrast, all subscribers get more
  2766. Priority Access time and no limit to BUMPable time.
  2767.  
  2768. One thing to think about is that non-subscribers are essential to the
  2769. success of a social BBS. People only call because there are other
  2770. people online. An unused line is just a waste and doesn't do anyone
  2771. any good. If you give too much to subscribers, the non-subscribers
  2772. will be driven away and the board will die for lack of activity. If
  2773. you give too much to non-subscribers, then we'll have plenty of
  2774. activity but no subscribers. The bump system is self-regulating and
  2775. keeps the system busy. It encourages people to call during off hours
  2776. when the system isn't as busy, rather than only during the evenings.
  2777.  
  2778. Here's some details on how the bump system chooses exactly who to
  2779. bump.  First off, if the caller has priority access time left, she
  2780. won't be bumped. All callers who are over their priority access time
  2781. are considered bumpable. The system will not bump a caller in the
  2782. middle of certain actions, such as writing a letter, uploading or
  2783. downloading a File, answering a questionnaire, placing an order, or so
  2784. on. Because of this, at any instant in time, usually no one is
  2785. bumpable (everyone is in the middle of doing something). If the lines
  2786. Fill up, then the first person to become bumpable gets bumped. It
  2787. doesn't matter how much or how little time over their priority access
  2788. time has been used.
  2789.  
  2790. What the 123456789 mean when booting DLX.
  2791.  
  2792. The numbers 123456789 that are displayed as DLX is booting show how
  2793. far along in the process it has gotten.
  2794.  
  2795. 1.    Loading STRINGS and MENUS
  2796. 2.    Loading MACROS
  2797. 3.    Loading PROMPTS, MULTIPLE.*, ESSAY, ORDER
  2798. 4.    Loading PARAMS
  2799. 5.    Scanning MEMBERS
  2800. 6.    Computing MEMBERS index
  2801. 7.    Loading PUBMAIL
  2802. 8.    Scanning USERLOG
  2803. 9.    Loading GLOBALS
  2804.  
  2805. Which computers will run DLX and which ones won't.
  2806.  
  2807. DLX runs on IBM PC compatible micro-computers.  In the past, hardware
  2808. compatibility was sometimes a problem, but today's PCs are more
  2809. standardized.  Almost any PC currently made will work fine.
  2810.  
  2811. The IBM PS/2 series uses a different kind of expansion card bus (the
  2812. MCA bus), so if you've got one of these, be sure any expansion cards
  2813. you get, like a Digiboard card, are MCA compatible.  The DigiBoard to
  2814. get for a PS/2 is the MC/8 (or an MC/4 for four lines).  Because of
  2815. the different design used by the MC/8 cards, DLX on a PS/2 can run
  2816. only a maximum of 16 lines, using two MC/8 cards.
  2817.  
  2818. Any PC running at 10 MHz or faster should be using the 16450 UART
  2819. chip in all its serial ports.  The 16550 chip can also be used, but
  2820. DLX does not make use of its advanced features.  Beware of serial
  2821. ports that use the old 8250 chip they won't keep up reliably.  This
  2822. applies to internal modems, too.
  2823.  
  2824. Your PC should have an FCC Class A or Class B certification indicated
  2825. on the back cover.  This indicates that it is properly shielded and
  2826. won't emit RF (radio frequency) radiation which will goof up other
  2827. equipment.  It also indicates that it won't be goofed up by nearby
  2828. sources of RF energy.  The Class B certification is the stricter one.
  2829. Class A machines are meant for industrial use and can cause TV
  2830. interference when used in the home.  Beware of the PC with no FCC
  2831. sticker!  These are not only illegal, but may be poorly made.
  2832.  
  2833. "Who" Command Status Codes
  2834.  
  2835. These codes indicate what a caller is doing that prevents them from
  2836. being chatted.  Only a user with "ChatOK" can be chatted.  Here are
  2837. the who status codes in the default STRINGS file.
  2838.  
  2839. Logging On    Just entering the system
  2840. Chatting    Engaged in a chat
  2841. NoRepeat    The same person cannot be chatted twice in a row
  2842. NotVerif    Userlevel is too low to be chatted
  2843. Q-aire        Answering a questionnaire
  2844. Library        Transferring a file
  2845. Mail        Reading private mail
  2846. Ordering    Entering an order
  2847. NoChat        NoChat selected.  User cannot be chatted, except by SysOp
  2848. LoginsOff    LoginsOff selected = NoChat + no login bulletins
  2849. PageOff        PageOff selected = NoChat + no bulletins of any kind
  2850. ChatOK        Available for chatting
  2851.  
  2852. Windowing 
  2853.  
  2854. DLX normally displays one window for each active line plus one for
  2855. the user at the keyboard.  When actually using the keyboard window,
  2856. you may find it to be too small.  The F10 key will give the keyboard
  2857. window the whole screen and continue to run the other lines invisibly
  2858. in the background.  The F9 key will return the display to its normal
  2859. mode.  The other function keys F1..F8 show a few lines at a time, so
  2860. you can see more detail.
  2861.  
  2862. DLX will use as many display lines as your display supports.  If you
  2863. have an EGA display, you can put your display in 43-line mode and DLX
  2864. will take advantage of this.  If you have a VGA, you can use 50-line
  2865. mode also.
  2866.  
  2867.  
  2868. UTILITY PROGRAMS
  2869.  
  2870. Programs Included with DLX
  2871.  
  2872. A number of utility programs are included with DLX.  Except as noted,
  2873. these should all be run from the DLX directory.  The programs that
  2874. generate reports to the console can have their output redirected to a
  2875. file in the usual MS-DOS fashion.  For example, ULSTATS >UL.TXT will put
  2876. the user log report into the file UL.TXT.  Reports can also be
  2877. redirected to a printer.  For example, ULSTATS >LPT1:.
  2878.  
  2879. ASKYN.COM is used by the DLX INSTALL batch file to ask yes or no
  2880. questions.  This program can be run from any directory.
  2881.  
  2882. BDAY.EXE is a program which tabulates whose birthday it is today or
  2883. this month.  For BDAY to work correctly, you must ask callers for
  2884. their birthday as the first question of MULTIPLE.3, and get the
  2885. answer in a 5 character alpanumeric field.  The form of the answer
  2886. must be the month and day, seperated by a slash or hyphen.  Suggested
  2887. wording in MULTIPLE.3 is:
  2888.  
  2889. 5A
  2890. Please enter your birthday in the form MM/DD (month/day), 
  2891. with a slash and no year.  For example, a January 28th 
  2892. birthday would be entered as 1/28.
  2893. =>
  2894. &X
  2895.  
  2896. BDAY 12 will generate a listing of birthdays this month, and BDAY 30
  2897. will generate a listing of birthdays today.  You can incorporate the
  2898. birthday listing into your NEWS file, and that way everyone will know
  2899. whose birthday it is and can send greetings.
  2900.  
  2901. MQSTATS.EXE will total all the responses your users have made to the
  2902. multiple choice questionnaires.  MQSTATS /2 will generate a report
  2903. broken down by gender.
  2904.  
  2905. PACK.EXE is a utility program that packs public mail files, i.e.
  2906. eliminates deleted messages and renumbers.  To use it, type PACK and
  2907. follow directions.  PACK can also do mass deletion of old messages.
  2908. If you want to delete all the mail in a public mail category, don't
  2909. use PACK.  Instead, go into the PUB-BOX subdirectory and delete the
  2910. INDEXj and DATAj files, where "j" is the category letter.  Because
  2911. PACK renumbers the messages, you should not run it too often, lest it
  2912. confuse the users.
  2913.  
  2914. PMSTATS.EXE generates a report about all the postings in the various
  2915. public mail categories, including top ten lists for things like posts
  2916. per month, average age of posters, etc.
  2917.  
  2918. RNDB.EXE turns a REALNAME file into a form suitable for use as a DLX
  2919. database (one line per entry).  If you want to protect the anonymity
  2920. of your callers, then you'll want to keep the name of this database a
  2921. secret, and protect access to it by means of a macro.
  2922.  
  2923. RNTABS.EXE turns a REALNAME file into a tab-delimited form that most
  2924. spreadsheets and integrated packages (like Microsoft Works) can read.
  2925.  
  2926. TEST232.COM tests for serial ports and tells which interrupt levels
  2927. they are connected to.  COM1 should be on level 4 and COM2 on level
  2928. 3.  COM2 is different if you're using a DigiBoard board, so this
  2929. program is only useful when a DigiBoard card is NOT installed.  This
  2930. program can be run from any directory.
  2931.  
  2932. ULSTATS.EXE is a program that shows the number of calls and total
  2933. minutes in use for each of your telephone lines.  It prepares this
  2934. report from your USERLOG file.  It works best if you maintain a large
  2935. enough user log to cover several days of activity.  ULSTATS also
  2936. gives a number for total erlangs for each day.  An erlang is the
  2937. number of full line equivalents.  For example, if you have a two line
  2938. system and both lines are busy half the time, this is one erlang
  2939. altogether.  If you increase the size of the userlog file by
  2940. modifying the limit in the PARAMS file, you must also delete the
  2941. current userlog file and start over, or else it will be garbled and
  2942. give an incorrect ULSTATS report.
  2943.  
  2944. USERLIST.EXE generates a one line per member listing of the MEMBERS file.
  2945.  
  2946. Using EMM386, QEMM or 386MAX with DLX
  2947.  
  2948. EMM386 is a Microsoft program that comes with recent version of MS-DOS
  2949. and Windows.  386MAX and QEMM are similar programs available from
  2950. Qualitas and QuarterDeck, respectively.  All these LIMulator programs
  2951. use the capabilities of the 386, 486 and Pentium chips to provide
  2952. additional MS-DOS memory beyond the usual 640K limit.  They provide EMS
  2953. (expanded memory), XMS (extended memory) and UMBs (upper memory
  2954. blocks).  DLX cannot make use of EMS or XMS memory, but it can use
  2955. UMBs and this gives you more memory.  You can see how much memory is
  2956. available to DLX by typing the MS-DOS command MEM /C.
  2957.  
  2958.  
  2959. FILE FORMATS
  2960.  
  2961. MEMBERS File Format
  2962.  
  2963. The MEMBERS file consists of a series of fixed length records.  The
  2964. length of each record is 256 bytes, including the last two bytes
  2965. (which are always carriage return and linefeed).  All the bytes are
  2966. printable ASCII characters.  Each record is numbered sequentially by
  2967. userid, and no gaps are permitted.  Deleted users are simply marked
  2968. as not active, and the rest of their information is left unchanged,
  2969. to facilitate restoring them if they were deleted by mistake.
  2970.  
  2971. Field        Type    Width    Description
  2972. -----        ----    -----    -----------
  2973. Name        String    20    Name or handle
  2974. Userid        Number    5    File number
  2975. Filler        Blank    1    Not used
  2976. City        String    15    Name of user's city
  2977. Filler        Blank    1    Not used
  2978. State        String    2    P.O. abbreviation for state
  2979. PW        String    4    Password (scrambled)
  2980. Pagesize    Number    4    Page pause after this many lines
  2981. Gender        String    1    M or F
  2982. Orientation    String    1    Sexual orientation: S, B or G
  2983. Active        String    1    T if active, blank if deleted
  2984. Junk        String    1    J if junk mail pending, else blank
  2985. Age        Number    3    Age in years
  2986. Filler        Blank    1    Not used
  2987. Height        String    5    Height, e.g. 5'10"
  2988. Filler        Blank    1    Not used
  2989. Weight        Number    3    Weight in pounds
  2990. Filler        Blank    1    Not used
  2991. Userlevel    Number    1    Userlevel 0 to 9
  2992. Chat_OK        String    1    N for NoChat, P for PageOff
  2993. Times_Called    Number    4    Number of times called
  2994. Last_Called_Date String    8    MM-DD-YY
  2995. Last_Called_Time String    8    HH:MM:SS, 24 hour clock
  2996. Minutes_Today    Number    3    Minutes used today or last time
  2997. Filler        Blank    1    Not used
  2998. Mbx_Count    Number    3    Number of messages in mailbox
  2999. Filler        Blank    1    Not used
  3000. Mbx_Max        Number    3    Size of mailbox
  3001. Filler        Blank    1    Not used
  3002. Mult_Answer1    String    30    Answers to Multiple.1
  3003. Mult_Answer2    String    30    Answers to Multiple.2
  3004. Mult_Answer3    String    30    Answers to Multiple.3
  3005. Mult_Answer4    String    30    Answers to Multiple.4
  3006. Mult_Answer5    String    30    Answers to Multiple.5
  3007. CRLF            2    Carriage return, linefeed
  3008. Total Length        256    Bytes per record
  3009.  
  3010. Control-Z (EOF) characters must not be added to the end of the
  3011. MEMBERS file (as is done by some editors).  If this happens, new
  3012. users will be garbled.
  3013.  
  3014. A WORD TO THE WISE: ALWAYS MAKE A BACKUP BEFORE EDITING THE MEMBERS
  3015. FILE!
  3016.  
  3017. USERLOG File Format
  3018.  
  3019. The format of the USERLOG file is very similar to the MEMBERS file
  3020. format.  DLX creates each USERLOG record by writing out the MEMBERS
  3021. file record as it was when the user logged out, with some log fields
  3022. replacing some of the MEMBERS file fields.  Most of the MULTIPLE.5
  3023. answers are replaced.
  3024.  
  3025. Field        Type    Width    Description
  3026. -----        ----    -----    -----------
  3027. Name        String    20    Name or handle
  3028. Userid        Number    5    File number
  3029. Filler        Blank    1    Not used
  3030. City        String    15    Name of user's city
  3031. Filler        Blank    1    Not used
  3032. State        String    2    P.O. abbreviation for state
  3033. Callno        String    8    Call number
  3034. Gender        String    1    M or F
  3035. Orientation    String    1    Sexual orientation: S, B or G
  3036. Crossover    String    1    X if X login, blank otherwise
  3037. Junk        String    1    J if junk mail pending, else blank
  3038. Age        Number    3    Age in years
  3039. Filler        Blank    1    Not used
  3040. Height        String    5    Height, e.g. 5'10"
  3041. Filler        Blank    1    Not used
  3042. Weight        Number    3    Weight in pounds
  3043. Filler        Blank    1    Not used
  3044. Userlevel    Number    1    Userlevel 0 to 9
  3045. Chat_OK        String    1    N for NoChat, P for PageOff
  3046. Times_Called    Number    4    Number of times called
  3047. Start Date    String    8    Date the call began
  3048. Start Time    String    8    Time the call began
  3049. Minutes_Today    Number    3    Minutes used today or last time
  3050. Filler        Blank    1    Not used
  3051. Mbx_Count    Number    3    Number of messages in mailbox
  3052. Filler        Blank    1    Not used
  3053. Line Number    Number    3    Telephone line
  3054. Filler        Blank    1    Not used
  3055. Mult_Answer1    String    30    Answers to Multiple.1
  3056. Mult_Answer2    String    30    Answers to Multiple.2
  3057. Mult_Answer3    String    30    Answers to Multiple.3
  3058. Mult_Answer4    String    30    Answers to Multiple.4
  3059. End Date    String    8    Date the call ended
  3060. End Time    String    8    Time the call ended
  3061. Baud        Number    5    Bits/second of the connection
  3062. Filler        String    9    The last nine answers of Multiple.5
  3063. CRLF            2    Carriage return, linefeed
  3064. Total Length        256    Bytes per record
  3065.  
  3066. Public Mail File Format
  3067.  
  3068. Each public mail category is stored in a pair of files: a DATA file
  3069. and an INDEX file.  The DATA file contains the messages themselves,
  3070. with each line padded with blanks (if necessary) to a fixed length of
  3071. 78 characters, plus carriage return/linefeed for a total of 80
  3072. character per record.  The first four lines of each message are the
  3073. From:, To:, Date: and Subject: fields.  A blank line follows, then
  3074. the body of the message.
  3075.  
  3076. The INDEX file contains one line per message.  Each line of the index
  3077. file has a fixed length of 88 bytes and is formatted as follows.
  3078.  
  3079. Field        Type    Width    Description
  3080. -----        ----    -----    -----------
  3081. File pointer    Number    10    First line of message in DATA file
  3082. Message length    Number    5    Number of lines in message
  3083. Filler        Blank    1    Not used
  3084. Deleted        String    1    D if deleted, H if held, else blank
  3085. Filler        Blank    1    Not used
  3086. Message from    String    26    Name and file number of sender
  3087. Message to    String    26    To: field
  3088. Date        String    8    Date message sent
  3089. Time        String    8    Time message sent
  3090. CRLF            2    Carriage return, linefeed
  3091. Total Length        88    Bytes per record
  3092.  
  3093. Control-Z (EOF) characters must not be added to the end of the DATA
  3094. and INDEX files (as is done by some editors).  If this happens, new
  3095. messages will be garbled.
  3096.  
  3097. ALWAYS MAKE A BACKUP BEFORE EDITING THESE FILES!
  3098.  
  3099. Explanation of PARAMS File
  3100.  
  3101. >>> New user level (0 to 9)
  3102.     The user level to be assigned to new users.  When you first
  3103. start DLX, the first user is assigned level 9 (SysOp).  All
  3104. subsequent new users get the user level set here. 
  3105.  
  3106. >>> Shortest password allowed
  3107.     This parameter allows you to specify the fewest number of
  3108. characters allowed for passwords.  The longer the password, the
  3109. greater the security, but on the other hand you have to type more
  3110. characters.  DLX 7.0 always requires passwords to have at least one digit
  3111. or punctuation mark in them (spaces count as punctuation).
  3112.  
  3113. >>> Minimum age allowed
  3114.     Does not apply in business mode.  New users below this age
  3115. are not allowed.  Also affects users re-answering their
  3116. questionnaire.
  3117.  
  3118. >>> Lowest line to appear in Who listing
  3119.     If you set this to one, Line 0 (the console) will not appear
  3120. in Who listings.  If you set this to zero, all lines, including Line
  3121. 0, will appear in Who listings.
  3122.  
  3123. >>> Match default: days since last call
  3124.     Does not apply in business mode.  When doing a match, this is
  3125. the initial value for days since last call.
  3126.  
  3127. >>> Match default: times called
  3128.     Does not apply in business mode.  When doing a match, this is
  3129. the initial value for number of times called.  A value greater than
  3130. one is suggested because many people call once and never call back.
  3131.  
  3132. >>> Max entries allowed for userlog
  3133.     The userlog is the list of recent callers as shown by the U
  3134. command.  This number controls the length of that list.
  3135.  
  3136. >>> Normal max lines per message
  3137.     Messages are limited to this many lines.  This limit does not
  3138. apply to the SysOp or other level nine users.  This should not exceed
  3139. 50 on a 32-line system.
  3140.  
  3141. >>> Normal max messages per mailbox
  3142.     This specifies the default size of mailboxes.  Mailbox size
  3143. limits do not apply to verification messages.  The size of a user's
  3144. mailbox can be adjusted by the SysOp with the !M command.  This
  3145. parameter should not exceed 10 on a 32-line system.
  3146.  
  3147. >>> Caller goes to "Expert Mode" after this many calls
  3148.     After this number of calls by a user is reached, public mail
  3149. catgegories are no longer listed automatically.
  3150.  
  3151. >>> Who gets closing comments
  3152.     The "closing comments" generated by the G command go to this
  3153. user.  Ordinarily it would be the SysOp, number 1, but can be
  3154. redirected to any number.
  3155.  
  3156. >>> Prime and non-prime hours, starting at midnight
  3157.     Access to the system can be restricted by user level during
  3158. certain hours of the day.  (There is no provision for varying this on
  3159. the weekends.)  The 24 hours of the day are divided into "prime time"
  3160. and "non-prime time".  This entry consists of 24 characters, each a P
  3161. or an N.  P stands for prime time and N stands for non-prime time.
  3162. The first character applies to midnight to one a.m. and so on thru
  3163. the last entry which applies to 11 p.m. to midnight.  Any sequence of
  3164. 24 N's and P's can entered, thus defining what you consider to be
  3165. prime time.  The idea is to allow users with a high userlevel to call
  3166. at any time, but only allow low userlevel users to call during
  3167. non-prime time.
  3168.  
  3169. >>> Time limit for each user level in minutes
  3170.     There are ten user levels, numbered from zero to nine.  A
  3171. separate daily time limit applies to each level.  The ten numbers
  3172. here define that time limit in minutes per day.  The maximum limit
  3173. allowed is 32767, which is longer than a day and gives unlimited
  3174. time.  If the bump system is active, then these numbers are instead
  3175. the amount of Priority Access time for each level.
  3176.  
  3177. >>> Chat time limit in minutes
  3178.     Individual "chats" are limited to this many minutes duration.
  3179. If you don't want a separate time limit on chatting, enter 32767
  3180. here.  When a chat times out because of this limit, the users
  3181. chatting drop back to whatever they were doing before the chat - they
  3182. are not logged out unless their overall time limit has also expired.
  3183.  
  3184. >>> Prime time restrictions enforced
  3185.     Access can be limited during prime time.  If you wish to do
  3186. this, set this entry to TRUE otherwise set it to FALSE.
  3187.  
  3188. >>> Minimum user level to reply to mail
  3189.     Users with a user level less than this are not allowed to
  3190. reply to private mail sent to them.  You may wish to have a class of
  3191. users who can reply to mail but cannot originate mail.
  3192.  
  3193. >>> Minimum user level for prime time access
  3194.     If prime time restrictions are in effect, this will prevent
  3195. users with a user level below this number from accessing the system
  3196. during prime time.
  3197.  
  3198. >>> Minimum user level to re-answer questionnaire
  3199.     Users below this level cannot re-answer their questionnaire.
  3200. Mainly useful for guest accounts.
  3201.  
  3202. >>> Minimum user level to answer essay
  3203.     Users must be this user level or above to use the N command
  3204. to answer the essay questionnaire.
  3205.  
  3206. >>> Minimum user level to place an order
  3207.     Users at this level and above can use the O command to fill
  3208. out an order form.
  3209.  
  3210. >>> Minumum user level to originate private mail
  3211.     Users at this level and above can send private mail.  You may
  3212. want to restrict this privilege to prevent pranksters from sending
  3213. obnoxious mail.
  3214.  
  3215. >>> Minimum user level to originate public mail
  3216.     Users at this level and above can post public messages.  You
  3217. may wish to allow some users to post public mail only, or to post
  3218. private mail only.
  3219.  
  3220. >>> Minimum user level to initiate a chat
  3221.     This level is required to initiate a chat, but is not
  3222. required to be chatted.  Actually, it's a little more liberal than
  3223. this: if both parties can be chatted, and either one has a high
  3224. enough level to initiate a chat, then the chat will go through
  3225. regardless of who initiates it.
  3226.  
  3227. >>> Minimum user level to be chatted
  3228.     Users below this user level cannot be chatted, except by the
  3229. SysOp or other level nine users.  If someone tries to chat with them,
  3230. they will not be notified either.  Unverified new users may not be
  3231. good candidates for chatting.
  3232.  
  3233. >>> Minimum user level to enter Open Forum
  3234.     Users below this user level cannot enter the Open Forum group
  3235. chat ("CB") area of the Chat Lounge.
  3236.  
  3237. >>> Minimum user level to download an ASCII file
  3238.     Users below this level cannot download a file using ASCII
  3239. protocol.
  3240.  
  3241. >>> Minimum user level to download a file with XMODEM or XMODEM-1K
  3242.     Users below this level cannot download a binary file using
  3243. XMODEM or XMODEM-1K protocol.
  3244.  
  3245. >>> Minimum user level to upload a file
  3246.     This user level is required to upload a file, and applies to
  3247. all protocols.
  3248.  
  3249. >>> Minimum user level to use the X command
  3250.     The X command can be restricted by user level.  This is
  3251. useful in situations where multiple logins on the same call are not
  3252. desired.
  3253.  
  3254. >>> Minimum user level to appear in match or master list of users
  3255.     Users below this level do not appear in match listings, or in
  3256. business mode, in the master list of users.
  3257.  
  3258. >>> Minimum user level to browse
  3259.     Users below this level cannot use the B(rowse) command.
  3260.  
  3261. >>> Minimum user level to match or request a master list of users
  3262.     Users below this level cannot use the M command.
  3263.  
  3264. >>> Minimum user level to request a userlog
  3265.     Users below this level cannot use the U(serlog) command.
  3266.  
  3267. >>> Minimum user level to leave closing comments
  3268.     Users below this level cannot leave a closing comment,
  3269.  
  3270. >>> Minimum user level to search database
  3271.     Users below this level cannot search the database subsystem,
  3272. but they can see what categories are available.
  3273.  
  3274. >>> Verification required for new users
  3275.     If TRUE, new users are asked for their real name, address and
  3276. phone number before being allowed to do anything else.  Setting this
  3277. to FALSE allows anyone to become a new user anonymously.
  3278.  
  3279. >>> Who get verification requests
  3280.     If verification is in force, a message with new users' real
  3281. name and address will be sent as private mail to this user.
  3282. Ordinarily, it would be the SysOp, number 1, but it can be diverted.
  3283.  
  3284. >>> Who processes orders
  3285.     When a user completes an ordert form with the O command, it
  3286. is sent as mail to the user designated here.
  3287.  
  3288. >>> Filename for verification records
  3289.     If verification is in force, a message with new users' real
  3290. name and address is appended to this file, in addition to being sent
  3291. online to the SysOp or designated verifier.
  3292.  
  3293. >>> Seconds until timeout
  3294.     If nothing is received from a caller in this many seconds,
  3295. she will be logged out.  A warning is sent when only 30 seconds are
  3296. left.  This parameter should never be less than 60 seconds.
  3297.  
  3298. >>> Paging beep duration in deciseconds
  3299.     When callers use the T command to page the SysOp, the beep
  3300. lasts this many deciseconds (tenths of a second).  Make it longer for
  3301. a more noticeable beep set it to zero and no beeps will be heard.
  3302.  
  3303. >>> Allow new users during prime time
  3304.     If prime time access restrictions are in force, and this
  3305. entry is FALSE, new users will not be allowed during prime time.
  3306.  
  3307. >>> Is-that-correct on multiple choice questions
  3308.     If this is TRUE, after answering a multiple choice question,
  3309. the user is asked "Is that correct?" and thus can go back and redo
  3310. her answer if it's wrong.  Otherwise, there is no second chance,
  3311. which is quicker.
  3312.  
  3313. >>> Is-that-correct on essay questions
  3314.     If this is TRUE, after answering an essay question, the user
  3315. is asked "Is that correct?" and thus can go back and redo her answer
  3316. if it's wrong.  Otherwise, there is no second chance, which is
  3317. quicker.
  3318.  
  3319. >>> Lowest user number to appear in userlog
  3320.     This entry allows you to keep low numbered users out of the
  3321. userlog, if they are logging in very frequently, as the SysOp, for
  3322. example, is likely to do.  Also, users below this number are not
  3323. announced when entering or leaving Open Forum.
  3324.  
  3325. >>> Minimum user level to appear in userlog.
  3326.     Users below this level do not appear in the userlog.
  3327.  
  3328. >>> Essay questions mandatory for new users
  3329.     If this is TRUE, new users will be asked the essay questions
  3330. after they have answered the multiple choice questions in the
  3331. MULTIPLE.1 file.
  3332.  
  3333. >>> Automatically delete messages after reply
  3334.     If this is TRUE, when a user replies to a private message,
  3335. the original message will be deleted automatically when the reply is
  3336. sent.
  3337.  
  3338. >>> Modem setting command
  3339.     This is the Hayes AT command sent to the modem to prepare it
  3340. for the next call.  The default command is ATX1S0=1S2=0M0, which
  3341. means ATtention, X1 (send extended result codes), S0=1 (answer on the
  3342. first ring), S2=0 (ignore modem escape codes from the user), M0
  3343. (silence modem).  You may need to modify this for your particular
  3344. brand of modem.  Consult your modem documentation for details.
  3345.  
  3346. >>> Business mode
  3347.     If this is TRUE, the system will operate in business mode.
  3348. If this is FALSE, it will operate in social mode.  The difference is
  3349. that in business mode the program does not ask about age, gender,
  3350. weight, etc. and the M command simply lists all active users.
  3351.  
  3352. >>> Modem timing delays, in 50 msec units
  3353.     This is a sequence of six numbers, in units of 1/20th of a
  3354. second. The time a modem takes to reset will vary from brand to
  3355. brand.  The meaning of the five parameters are as follows: (1) Time
  3356. to hold down DTR to hang up the phone, (2) Time to wait after DTR
  3357. back on to send ATZ reset, (3) Time to wait after ATZ reset before
  3358. checking for OK, (4) Time to wait after modem setting command before
  3359. checking for OK, (5) Time to wait before clearing the window, and (6)
  3360. Time to wait after CONNECT before sending characters.
  3361.  
  3362. >>> Allow new users on modem lines
  3363.     New users are allowed to log in from a modem line only if
  3364. this parameter is TRUE.  You can toggle this parameter with the !N
  3365. command while DLX is running.  Doing so does not affect the PARAMS
  3366. file, so when DLX is rebooted, whatever it says in the PARAMS file
  3367. will take effect.
  3368.  
  3369. >>> Maximum number of retries when resetting modem
  3370.     DLX will try to reset a modem this many times.  After that,
  3371. it gives up.  If a call should come in on the affected line anyway,
  3372. it will be handled in the normal way.  A value of at least three is
  3373. recommended.
  3374.  
  3375. >>> Base address of (first) COM1 communication chip
  3376.     This is the I/O port address of the COM1 Intel 16450 or
  3377. equivalent serial communication chip, normally 16#3F8 in hexadecimal.
  3378. If you are using a DigiBoard DigiCHANNEL PC/8 board, this should be
  3379. reset to the I/O port address of the first DigiCHANNEL PC/8 port.
  3380.  
  3381. >>> Base address of (first) COM2 communication chip
  3382.     This is the I/O port address of the COM2 Intel 16450 or
  3383. equivalent serial communication chip, normally 16#2F8 in hexadecimal.
  3384. If you are using a DigiBoard DigiCHANNEL PC/8 board, this should be
  3385. reset to the I/O port address of the first DigiCHANNEL PC/8 port.
  3386.  
  3387. >>> Status port pair for DigiCHANNEL - IRQ4
  3388.     This parameter is the I/O port address of the DigiBoard
  3389. status port pair.  It actually represents the address given plus the
  3390. next higer address.  This status port pair will be used for all
  3391. interrupts chained on interrupt level 4.  If you're not using a
  3392. DigiBoard card, the value of this parameter does not matter.  If you
  3393. use the "AT" setting recommended, this number should be 16#140 in
  3394. hexadecimal.
  3395.  
  3396. >>> Status port pair for DigiCHANNEL - IRQ3
  3397.     This parameter is the I/O port address of the DigiBoard
  3398. status port pair.  It actually represents the address given plus the
  3399. next higer address.  This status port pair will be used for all
  3400. interrupts chained on interrupt level 3.  If you're not using a
  3401. DigiBoard card, the value of this parameter does not matter.  If you
  3402. use the "AT" setting recommended, this number should be 16#140 in
  3403. hexadecimal.
  3404.  
  3405. >>> Sense modem carrier using DCD/RLSD line
  3406.     If this is TRUE, DLX will pay attention to the Data Carrier
  3407. Detect line coming from each modem.  If carrier is lost, DLX will
  3408. terminate the call.  Set this to FALSE is you want DLX to ignore DCD,
  3409. for example if your BBS is not directly connected to modems but goes
  3410. through a data switch.
  3411.  
  3412. >>> Bump so as to keep this many lines free
  3413.     The system will try to keep this many lines open at all
  3414. times.  If this many lines are not free, the system will bump the
  3415. next person to become bumpable.  A caller is bumpable if they have
  3416. used up their priority access time, and if they are not in the middle
  3417. of an uninterruptable operation, such as writing a message or
  3418. downloading a file.  Setting this parameter to zero disables the bump
  3419. system.
  3420.  
  3421. >>> Upload forbidden unless this many megabytes free
  3422.     Uploads will only be allowed when there are this many free
  3423. megabytes on the library hard disk.  Does not apply to level nine
  3424. users.
  3425.  
  3426. >>> Download allowed only in categories that start with D
  3427.     If this is TRUE and a structured library is in use, download
  3428. will be restricted to categories that start with the letter "D".
  3429. This restriction does not apply to level nine users.
  3430.  
  3431. >>> Upload allowed only in categories that start with U
  3432.     If this is TRUE and a structured library is in use, uploads
  3433. will be restricted to categories that start with the letter "U".
  3434. This restriction does not apply to level nine users.
  3435.  
  3436. >>> Maximum characters in upload file description
  3437.     When uploading a file, the user is asked to supply a brief
  3438. description.  This description is appended as a DLX formatted line to
  3439. the MENU file.  The formatted line will normally include the name of
  3440. the file, description, size, who uploaded it and when (it is a line
  3441. in the PROMPTS file).  All this must fit on one line, so there must
  3442. be a limit to the length of the "brief description" and that limit is
  3443. defined by this line of the PARAMS file.
  3444.  
  3445. >>> Prime time/time limit refusals get closing comments
  3446.     When a caller is denied access either because of prime time
  3447. restrictions, or because he's used up her time limit for the day,
  3448. this parameter controls whether or not she is allowed to leave a
  3449. closing comment to the SysOp before being kicked off.
  3450.  
  3451. >>> Library path(s)
  3452.     This is the MS-DOS pathname at which DLX looks for the library.
  3453. You may specify an absolute or relative path name, and you may
  3454. specify a device name as well.  You may have multiple paths separated
  3455. by semicolons.  The MENU file must be in the first path.
  3456.  
  3457. >>> Consecutive chats between the same users allowed
  3458.     If this is FALSE, a chat may not be repeated in the same
  3459. sesssion by the same two users.  One of them must either log off or
  3460. chat with someone else before the chat can be repeated.
  3461.  
  3462. >>> W list of online users shown automatically at logon
  3463.     If this parameter is TRUE, the W (Who) list of users online
  3464. will be displayed automatically as part of the logon sequence.
  3465.  
  3466. >>> Online users are notified of logons
  3467.     If this parameter is TRUE, all online users will receive a
  3468. bulletin whenever someone logs onto the sytem.  Otherwise, these
  3469. bulletins are suppressed.
  3470.  
  3471. >>> Max pending bulletins/Open Forum lines per user
  3472.     Consider the situation where a caller at 300 baud is in Open
  3473. Forum with callers at 2400 baud.  The higher speed callers could get
  3474. way ahead of the slower speed caller and DLX would have to buffer up
  3475. all the messages, eventually running out of memory.  This parameter
  3476. limits the number of lines DLX will buffer for each caller.  Also,
  3477. the number of lines that an Open Forum caller can enter before the
  3478. group of lines is sent, is equal to one third of this parameter.
  3479.  
  3480. >>> Screen attributes: monochrome 7 112 7, color 30 110 78
  3481.     These three numbers are the IBM PC display attributes used
  3482. for normal lines, status lines and the global status line,
  3483. respectively.  The numbers 7 112 and 7 are suggested for monochrome
  3484. displays and 30 110 and 78 for color displays.  The meaning of the
  3485. IBM PC display attributes depends on what type of display adaptor
  3486. your computer has and is documented in the IBM Technical Reference
  3487. Manuals.
  3488.  
  3489. >>> Database path
  3490.     This is the MS-DOS pathname at which DLX looks for the database.
  3491. You may specify an absolute or relative path name, and you may
  3492. specify a device name as well.
  3493.  
  3494. >>> Bumpmax in minutes
  3495.     If the bump system is enabled, this is maximum length of time
  3496. that callers subject to bumpax will be able to stay on each day,
  3497. regardless of whether lines are free or not.  When this time limit is
  3498. reached, such callers are bumped off and are not allowed to log back
  3499. in until the next day.
  3500.  
  3501. >>> Minimum user level to be exempt from bumpmax
  3502.     Users at this level and higher have no limit to bumpable
  3503. time, if the bump system is enabled.
  3504.  
  3505. >>> Shortest search key allowed in database
  3506.     The minimum number of characters accepted for a database
  3507. search key.  By setting this parameter to a number greater than one,
  3508. you can make it difficult for callers to download your entire
  3509. database.
  3510.  
  3511. >>> Default sexual orientation (S, B or G), A = no default
  3512.     Does not apply in business mode.  If you wish to run a social
  3513. board without asking callers their sexual orientation, you may
  3514. specify a default sexual orientation here.  It will be assigned to
  3515. all callers without asking.  An A here will cause DLX to ask callers
  3516. for their sexual orientation.
  3517.  
  3518. >>> Chat status for new users: C=ChatOK, N=NoChat, L=LoginsOff, P=PageOff
  3519.     When a new user finishes the questionnaire, she is given this
  3520. inital chat status.  N means they must be paged before chatting, L is
  3521. like N but also suppresses login bulletins, P means they cannot be
  3522. chatted and anything else means that chats are enabled.
  3523.  
  3524. >>> Default number of rows per user screen (0=continuous)
  3525.     This controls page pausing intervals when the system does not
  3526. yet know the number of rows of characters on the user's terminal.
  3527. Applies to new users who havn't finished answering the questionnaire,
  3528. and to all users before they log in.  If this parameter is set to -1
  3529. then page pausing is suppressed everywhere in the BBS.
  3530.  
  3531. >>> Required number of characters for each verification line
  3532.     When DLX asks new users for their real name, address and
  3533. phone number, it will require a response of at least this many
  3534. characters for each line.  Prevents users from skipping it by hitting
  3535. carriage return.
  3536.  
  3537. >>> Use the metric system.
  3538.     Does not apply in business mode.  If TRUE, the metric system
  3539. is used for height and weight.  Height is in centimeters and weight
  3540. is in kilograms.  If FALSE, the English system is used.  Height is in
  3541. feet and inches, and weight is in pounds.
  3542.  
  3543. >>> Strip the parity bit from incoming text.
  3544.     If this is TRUE, the parity bit is automatically stripped
  3545. (and ignored) on incoming characters.  In this mode, DLX will work
  3546. fine no matter what parity the caller has set.  If this parameter is
  3547. FALSE, DLX will not strip parity, so the caller must have her
  3548. communication program set to 8 bits, no parity -- or she will get
  3549. nothing but garbage on her display.  The advantage of setting this
  3550. FALSE is that callers will be able to include IBM PC graphics
  3551. characters in their messages.
  3552.  
  3553. >>> Allow ESC in messages
  3554.     If this is FALSE, users cannot send an Escape character in
  3555. their messages, and thus cannot send messages with ANSI control
  3556. sequences in them.  If this is TRUE, then callers are allowed to send
  3557. Escape.  Some escape sequences can be used maliciously by callers
  3558. against other callers, but they cannot harm DLX itself.
  3559.  
  3560. >>> Host echoes incoming text
  3561.     If TRUE, DLX echoes incoming characters full-duplex style.
  3562. If FALSE, DLX does not echo incoming characters.  Generally, the
  3563. full-duplex style is preferred.  No matter how this is set,
  3564. full-duplex modems must be used.
  3565.  
  3566. >>> Word wrap begins at this column
  3567.     DLX does "pseudo" word-wrap.  This parameter controls the
  3568. column after which a space or tab is interpreted as a carriage
  3569. return.
  3570.  
  3571. >>> Number of Open Forum channels
  3572.     You can divide Open Forum into as many as 32767 channels.
  3573. This parameter controls the number of channels.
  3574.  
  3575. >>> Maximum number of login attempts allowed
  3576.     This controls how many failed login attempts are allowed
  3577. before DLX hangs up.  The best number is a compromise between the
  3578. need to allow for typos and line noise by legitimate users, and the
  3579. need to protect against someone breaking into the system by guessing
  3580. a password.
  3581.  
  3582. >>> Level 9s on line 0 only
  3583.     If this is TRUE, level 9 users users can only login from the
  3584. keyboard.  If they call in remotely, they will be logged in at level
  3585. 8.  This is not a permanent change, it's just for that call.  If this
  3586. parameter is FALSE, remote logins by level 9 users is allowed.
  3587.  
  3588. >>> Log file for downloads
  3589.     Each time a file is downloaded, a line of information about
  3590. the download is written to this file.  The format of the line is
  3591. taken from the PROMPTS file.  If the log filename is blank, no log
  3592. file is written.  The log file is cleared each time DLX starts up.
  3593.  
  3594. >>> Log file for uploads
  3595.     Each time a file is uploaded, a line of information about the
  3596. upload is written to this file.  The format of the line is taken from
  3597. the PROMPTS file.  If the log filename is blank, no log file is
  3598. written.  The log file is cleared each time DLX starts up.  Log file
  3599. for Open Forum
  3600.     Each line typed in Open Forum is logged to this file, which
  3601. >>> is kept open all the time DLX is running.  If the log filename is
  3602. blank, no log file is written.  The log file is cleared each time DLX
  3603. starts up.
  3604.  
  3605. >>> Display unused lines in Who listing
  3606.     If this is TRUE, the W(ho) command will list all lines,
  3607. whether in user or not.  If it is FALSE, only the lines actually in
  3608. use are shown.
  3609.  
  3610. >>> Running on an IBM PS/2
  3611.     Set this to TRUE if the BBS is runing on an IBM PS/2 or other
  3612. MCA bus computer.  For all other computers, this should be set to
  3613. FALSE.
  3614.  
  3615. >>> /P messages allowed to NoChat users
  3616.     When this is TRUE, users who are not in Open Forum and who
  3617. have set their chat status to NoChat, can receive /P messages from
  3618. users in Open Forum.
  3619.  
  3620. >>> Minimum user level to receive junk mail
  3621.     Callers whose user level is below this will not receive junk
  3622. mail messages.
  3623.  
  3624. >>> Moderators can delete mail and browse anonymous callers
  3625.     Some SysOps want to give these privileges to moderators (for
  3626. their own pubs), and some want to reserve them for Level 9s.  This
  3627. parameter lets you choose.
  3628.  
  3629. Explanation of PUBMAIL File
  3630.  
  3631. >>> Name of category
  3632.     Public mail can be divided into categories (up to fifty
  3633. altogether).  This field gives the name of the category.  It can be
  3634. up to 24 characters long.
  3635.  
  3636. >>> Letter
  3637.     Each category is accessed by a single letter.  This letter
  3638. can be any alphabetic or numeric character or any of the special
  3639. characters # & @ ! % ( ) - { } ` _ ' or $.
  3640.  
  3641. >>> File number of moderator or 0 for none
  3642.     Each category can have one user designated as moderator.
  3643. This field contains either the file number of the moderator for this
  3644. category or 0 for no moderator.  Moderators have special privileges
  3645. in their category, one of which is the ability to delete any message.
  3646.  
  3647. >>> Hold new messages for moderator
  3648.     If this field is TRUE, all new messages entered in this
  3649. category will be marked as held and will not be viewable by ordinary
  3650. users.  Either the SysOp or the moderator must unhold the message
  3651. before it can be seen.  If this field is FALSE, messages are visible
  3652. as soon as they are sent.
  3653.  
  3654. >>> Questionnaire or 0 for none
  3655.     A multiple choice questionnaire can be attached to a public
  3656. mail category.  This field either contains the number of the
  3657. questionnaire (2 thru 5) or 0 for if no questionnaire is desired.
  3658. The coressponding MULTIPLE.2,3,4 or 5 questionnaire will be asked of
  3659. callers who access this category.
  3660.  
  3661. >>> Questionnaire must be answered to read board
  3662.     If a questionnaire is attached to the board and this field is
  3663. TRUE, then callers refusing to answer the questionnaire will not be
  3664. allowed to read the board.  If the field is FALSE, then they will be
  3665. asked, but not required, to answer the questionnaire.
  3666.  
  3667. >>> Anonymous
  3668.     If the field is TRUE, an anonymous category will be created.
  3669. In an anonymous category, the From: and Date: fields are not shown in
  3670. messages and browsing and direct replies are not permitted when
  3671. reading the public mail.
  3672.  
  3673. >>> Gender M/F or B for both
  3674.     Access may be limited to either just men or just women by
  3675. specifying a gender.  B will allow both.
  3676.  
  3677. >>> Sexual orientation S/B/G or A for any
  3678.     Access may be limited by sexual orientation.  A allows any
  3679. sexual orientation.
  3680.  
  3681. >>> Minimum user level for read access
  3682.     A caller below this user level cannot access this board, and
  3683. in fact will not even know that it's there.
  3684.  
  3685. >>> Minimum user level for write access
  3686.     A caller below this level can read the messages here, but
  3687. cannot enter a new one.
  3688.  
  3689. >>> Maximum user level for access
  3690.     A caller above this level cannot access this board, except
  3691. level 9s.
  3692.  
  3693. >>> Minimum age for access
  3694.     Callers younger than this age cannot access or see this
  3695. category.
  3696.  
  3697. >>> Maximum age for access
  3698.     Callers older than this age cannot access or see this
  3699. category 
  3700.